前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Windows中使用MySql.Data库将C# 接到 MySQL

Windows中使用MySql.Data库将C# 接到 MySQL

作者头像
ccf19881030
发布于 2024-05-24 04:45:13
发布于 2024-05-24 04:45:13
85100
代码可运行
举报
文章被收录于专栏:ccf19881030的博客ccf19881030的博客
运行总次数:0
代码可运行

Windows中使用MySql.Data库将C# 接到 MySQL

本文翻译自CodeProject上的一篇博文:Connect C# to MySQL,作者是: Etienne Rached。 由于文章是2009 年 11 月 18 日写的,到现在已经将近15年了,所以有些地方需要基于最新的.Net和C#版本进行修改,尤其是在MySql.Data库和.Net版本的使用和匹配上。

使用 MySQL Connector/Net 将 C# 连接到 MySQL,插入、更新、选择、删除示例,从 C# 或 .NET 应用程序备份和恢复 MySQL 数据库。 本文的目的是逐步展示如何使用 MySql Connect/NET 使用 C# 和 MySql 连接。我将在整篇文章中创建有关 DML(插入、更新、选择、删除)的简单示例,以展示如何使用 C# 查询数据库,最后我将向您展示如何备份数据库并将其保存在 .sql 中我们的应用程序中的文件,以及如何将其恢复。

入门

下载Connector/Net

首先确保您已经从MySQL官方网站下载并安装了MySQL Connector/NET。在本文中,我将使用 Connector/NET 版本 6.1。

创建数据库

现在让我们创建数据库以及稍后将从应用程序中查询的表。

从命令行,我们首先创建数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create database ConnectCsharpToMysql;

然后我们在创建表之前选择要使用的数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use ConnectCsharpToMysql;

我们创建将从应用程序中查询的表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create table tableInfo
(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30),
age INT,
PRIMARY KEY(id)
);

使用代码

添加引用并从项目创建 MySQL 连接器 DLL 在开始编写代码之前,我们需要在项目中添加 mysql 引用。为此,我们右键单击项目名称,然后选择“添加引用”:

添加引用
添加引用

然后我们从列表中选择 MySql.Data

添加MySql.Data库
添加MySql.Data库

为了在未安装连接器的其他计算机上使用该应用程序,我们必须从引用创建一个 DLL。为此,我们右键单击项目中的引用名称,然后在其属性中将 copy local 设置为 true:

将Copy Local属性设置为True
将Copy Local属性设置为True

注意:由于自从2009年离现在很久远,我们目前在VS2022等IDE中添加MySql.Data库很简单,只需要通过NuGet包管理器搜索MySql.Data包安装即可,也可以借助NuGet命令行安装MySql.Data包。

创建类

创建一个新类来连接数据库并将实际代码与访问数据库的代码分开始终是一个更好的主意。这将有助于保持我们的代码整洁、更易于阅读且更高效。

我们首先添加 MySql Connector 库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Add MySql Library
using MySql.Data.MySqlClient;

然后声明并初始化我们将使用的变量:

  • connection:将用于打开到数据库的连接。
  • server:表示我们的服务器托管在哪里,在我们的例子中,它是 localhost。
  • database:是我们将使用的数据库的名称,在我们的例子中,它是我们之前创建的数据库,即connectcsharptomysql
  • uid:是我们的 MySQL 用户名。
  • password:是我们的MySQL密码。
  • connectionString:包含连接数据库的连接字符串,并将被赋值给连接变量。

我们的类将如下所示: (本文稍后将填充空方法。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class DBConnect
{
    private MySqlConnection connection;
    private string server;
    private string database;
    private string uid;
    private string password;

    //Constructor
    public DBConnect()
    {
        Initialize();
    }

    //Initialize values
    private void Initialize()
    {
        server = "localhost";
        database = "connectcsharptomysql";
        uid = "username";
        password = "password";
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" + 
		database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);
    }

    //open connection to database
    private bool OpenConnection()
    {
    }

    //Close connection
    private bool CloseConnection()
    {
    }

    //Insert statement
    public void Insert()
    {
    }

    //Update statement
    public void Update()
    {
    }

    //Delete statement
    public void Delete()
    {
    }

    //Select statement
    public List <string> [] Select()
    {
    }

    //Count statement
    public int Count()
    {
    }

    //Backup
    public void Backup()
    {
    }

    //Restore
    public void Restore()
    {
    }
}
打开和关闭连接

我们应该始终在查询表之前打开一个连接,并在完成后立即关闭它,以释放资源并表明不再需要该连接。 打开和关闭与数据库的连接非常简单,但是,最好在打开或关闭连接之前使用异常处理来捕获错误并进行处理。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//open connection to database
private bool OpenConnection()
{
    try
    {
        connection.Open();
        return true;
    }
    catch (MySqlException ex)
    {
        //When handling errors, you can your application's response based 
        //on the error number.
        //The two most common error numbers when connecting are as follows:
        //0: Cannot connect to server.
        //1045: Invalid user name and/or password.
        switch (ex.Number)
        {
            case 0:
                MessageBox.Show("Cannot connect to server.  Contact administrator");
                break;

            case 1045:
                MessageBox.Show("Invalid username/password, please try again");
                break;
        }
        return false;
    }
}

//Close connection
private bool CloseConnection()
{
    try
    {
        connection.Close();
        return true;
    }
    catch (MySqlException ex)
    {
        MessageBox.Show(ex.Message);
        return false;
    }
}
使用 DML(插入、更新、选择、删除)

通常,Insertupdatedelete用于写入或更改数据库中的数据,而Select用于读取数据。 因此,我们有不同类型的方法来执行这些查询。 方法如下:

  • ExecuteNonQuery:用于执行不会返回任何数据的命令,例如Insert, updatedelete
  • ExecuteReader:用于执行将返回0个或更多记录的命令,例如Select
  • ExecuteScalar:用于执行仅返回 1 个值的命令,例如 Select Count(*)。 我将从Insert, updatedelete`开始,这是最简单的。成功执行命令的流程如下:
    1. 打开与数据库的连接。
    2. 创建 MySQL 命令。
    3. 为命令分配连接和查询。这可以使用构造函数或使用 MySqlCommand 类中的 ConnectionCommandText 方法来完成。
    4. 执行命令。
    5. 关闭连接。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Insert statement
public void Insert()
{
    string query = "INSERT INTO tableinfo (name, age) VALUES('John Smith', '33')";

    //open connection
    if (this.OpenConnection() == true)
    {
        //create command and assign the query and connection from the constructor
        MySqlCommand cmd = new MySqlCommand(query, connection);
        
        //Execute command
        cmd.ExecuteNonQuery();

        //close connection
        this.CloseConnection();
    }
}

//Update statement
public void Update()
{
    string query = "UPDATE tableinfo SET name='Joe', age='22' WHERE name='John Smith'";

    //Open connection
    if (this.OpenConnection() == true)
    {
        //create mysql command
        MySqlCommand cmd = new MySqlCommand();
        //Assign the query using CommandText
        cmd.CommandText = query;
        //Assign the connection using Connection
        cmd.Connection = connection;

        //Execute query
        cmd.ExecuteNonQuery();

        //close connection
        this.CloseConnection();
    }
}

//Delete statement
public void Delete()
{
    string query = "DELETE FROM tableinfo WHERE name='John Smith'";

    if (this.OpenConnection() == true)
    {
        MySqlCommand cmd = new MySqlCommand(query, connection);
        cmd.ExecuteNonQuery();
        this.CloseConnection();
    }
}

为了执行 Select 语句,我们添加了几个步骤,并使用 ExecuteReader 方法,该方法将返回 dataReader 对象来读取和存储数据或记录。

  1. 打开与数据库的连接。
  2. 创建 MySQL 命令。
  3. 为命令分配连接和查询。这可以使用构造函数或使用 MySqlCommand 类中的 ConnectionCommandText 方法来完成。
  4. 创建一个 MySqlDataReader 对象来读取选定的记录/数据。
  5. 执行命令。
  6. 读取记录并显示它们或将它们存储在列表中。
  7. 关闭数据读取器。
  8. 关闭连接。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Select statement
public List< string >[] Select()
{
    string query = "SELECT * FROM tableinfo";

    //Create a list to store the result
    List< string >[] list = new List< string >[3];
    list[0] = new List< string >();
    list[1] = new List< string >();
    list[2] = new List< string >();

    //Open connection
    if (this.OpenConnection() == true)
    {
        //Create Command
        MySqlCommand cmd = new MySqlCommand(query, connection);
        //Create a data reader and Execute the command
        MySqlDataReader dataReader = cmd.ExecuteReader();
        
        //Read the data and store them in the list
        while (dataReader.Read())
        {
            list[0].Add(dataReader["id"] + "");
            list[1].Add(dataReader["name"] + "");
            list[2].Add(dataReader["age"] + "");
        }

        //close Data Reader
        dataReader.Close();

        //close Connection
        this.CloseConnection();

        //return list to be displayed
        return list;
    }
    else
    {
        return list;
    }
}

有时,一个命令总是只返回一个值,例如如果我们想要计算记录数,我们一直在使用 Select Count(*) from tableinfo;,在这种情况下,我们将不得不使用 ExecuteScalar 方法将返回一个值。

成功运行并ExecuteScalar的流程如下:

  1. 打开与数据库的连接。
  2. 创建 MySQL 命令。
  3. 为命令分配连接和查询。这可以使用构造函数或使用 MySqlCommand 类中的 ConnectionCommandText 方法来完成。
  4. 执行命令。
  5. 如有必要,解析结果。
  6. 关闭连接。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Count statement
public int Count()
{
    string query = "SELECT Count(*) FROM tableinfo";
    int Count = -1;

    //Open Connection
    if (this.OpenConnection() == true)
    {
        //Create Mysql Command
        MySqlCommand cmd = new MySqlCommand(query, connection);

        //ExecuteScalar will return one value
        Count = int.Parse(cmd.ExecuteScalar()+"");
        
        //close Connection
        this.CloseConnection();

        return Count;
    }
    else
    {
        return Count;
    }
}
备份和恢复数据库

在向您展示如何从我们的应用程序备份数据库之前,我将解释一些有关进程、命令、参数以及输入和输出的信息。 通常,要从命令行备份 MySQL 数据库,我们编写以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysqldump -u username -p password -h localhost ConnectCsharpToMysql > "C:\Backup.sql"

为了恢复它,我们写:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql -u username -p password -h localhost ConnectCsharpToMysql < "C:\Backup.sql"

下面的命令可以这样划分:

  • mysqlmysqldump 是文件名或可执行文件。
  • -u 用户名 -p 密码 -h localhost 是参数
  • “C:\Backup.sql”是输出的定向位置。
  • <“C:\Backup.sql”是输入的定向位置。 现在我们知道了命令是如何划分的,我们可以开始在我们的应用程序中实现它。

在 C# 和 .NET 应用程序中,启动进程很容易。首先我们添加库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System.Diagnostics;

然后我们启动一个应用程序,例如 Internet Explorer:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Process.Start("IExplore.exe");

ProcessStartInfoProcess 结合使用,在进程启动之前对其进行设置。 例如,要使用参数启动 Internet Explorer,我们编写以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "IExplore.exe";
psi.Arguments = "www.codeproject.com";
Process.Start(psi);

要将输出写入文件或读取输入,我们可以使用 ProcessStartInfo 组件中的 RedirectStandardInputRedirectStandardOutput 属性来使进程从文件或其他设备获取输入或将输出返回到文件或其他设备。如果我们在 Process 组件上使用 StandardInputStandardOutput 属性,则必须首先在 ProcessStartInfo 属性上设置相应的值。否则,当我们读取或写入流时,系统会抛出异常。

现在回到我们的应用程序,要备份数据库,我们必须将 RedirectStandardOutput 设置为 true,并将进程的输出读取到字符串中并将其保存到文件中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Backup
public void Backup()
{
    try
    {
        DateTime Time = DateTime.Now;
        int year = Time.Year;
        int month = Time.Month;
        int day = Time.Day;
        int hour = Time.Hour;
        int minute = Time.Minute;
        int second = Time.Second;
        int millisecond = Time.Millisecond;

        //Save file to C:\ with the current date as a filename
        string path;
        path = "C:\\MySqlBackup" + year + "-" + month + "-" + day + 
	"-" + hour + "-" + minute + "-" + second + "-" + millisecond + ".sql";
        StreamWriter file = new StreamWriter(path);

        
        ProcessStartInfo psi = new ProcessStartInfo();
        psi.FileName = "mysqldump";
        psi.RedirectStandardInput = false;
        psi.RedirectStandardOutput = true;
        psi.Arguments = string.Format(@"-u{0} -p{1} -h{2} {3}", 
			uid, password, server, database);
        psi.UseShellExecute = false;

        Process process = Process.Start(psi);

        string output;
        output = process.StandardOutput.ReadToEnd();
        file.WriteLine(output);
        process.WaitForExit();
        file.Close();
        process.Close();
    }
    catch (IOException ex)
    {
        MessageBox.Show("Error , unable to backup!");
    }
}

为了恢复数据库,我们读取 .sql 文件并将其存储在字符串中,然后将 RedirectStandardInput 属性设置为 true,并将字符串的输入写入进程。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Restore
public void Restore()
{
    try
    {
        //Read file from C:\
        string path;
        path = "C:\\MySqlBackup.sql";
        StreamReader file = new StreamReader(path);
        string input = file.ReadToEnd();
        file.Close();

        ProcessStartInfo psi = new ProcessStartInfo();
        psi.FileName = "mysql";
        psi.RedirectStandardInput = true;
        psi.RedirectStandardOutput = false;
        psi.Arguments = string.Format(@"-u{0} -p{1} -h{2} {3}", 
			uid, password, server, database);
        psi.UseShellExecute = false;

        
        Process process = Process.Start(psi);
        process.StandardInput.WriteLine(input);
        process.StandardInput.Close();
        process.WaitForExit();
        process.Close();
    }
    catch (IOException ex)
    {
        MessageBox.Show("Error , unable to Restore!");
    }
}

总结

在本文中,我演示了如何使用insert, update, deleteselect语句的简单示例将 C# 连接到 MySQL 并查询表。 另外,由于它在 Internet 上并未广泛使用,因此我决定演示如何从 C# 应用程序备份和恢复 MySQL 数据库。

历史

2009 年 11 月 17 日:初始帖子

License

本文以及任何相关的源代码和文件均根据代码项目开放许可证 (CPOL) 获得许可

撰写者

艾蒂安·拉希德 软件开发人员 加拿大 加拿大 该成员尚未提供传记。假设它很有趣且多种多样,并且可能与编程有关。

在VS2022中运行本文的源代码

我们首选从下面这两个地方分别下示例和源代码,

connectcsharptomysql_source源代码目录结构
connectcsharptomysql_source源代码目录结构

我们使用VS2022打开ConnectCsharpToMysql.sln工程文件,并对项目进行升级,然后通过VS2022中的NuGet包管理器安装MySql.Data包,截止目前最新的MySql.Data库最新版本为:8.3.0,如下图所示:

MySql.Data
MySql.Data
MySql.Data包
MySql.Data包

然后为了简单这个程序将MySQL数据库的账号和密码硬编码到了代码中,我们只需要将DBConnect.cs文件中·Initialize()`函数中对应的用户名和密码改成自己本地的MySQL数据库对应的即可,如下图所示:

修改数据库的用户名和密码
修改数据库的用户名和密码

运行程序

程序运行结果如下图所示:

程序运行结果
程序运行结果
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
独家|微软亚太研发集团 CTO 王永东升任集团主席,洪小文国内不再担任职务
作者 | 李梅 编辑 | 陈彩娴 AI 科技评论独家获悉,近期,现任微软全球资深副总裁、微软(亚洲)互联网工程院院长王永东,已从微软亚太研发集团 CTO 升任为集团主席。 这意味着,原微软亚太研发集团主席洪小文已卸任,且在国内不再担任任何职务。2021 年 7 月,洪小文卸任微软亚洲研究院(MSRA)院长一职,由原 MSRA 常务副院长周礼栋接任,同时洪小文继续任微软亚太研发集团主席。据消息人士称,洪小文目前已经基本为退休状态。 此外,MSRA 系统与网络组的首席研究员杨懋现已升为副院长。 1 MSRA 第
AI科技评论
2022/09/20
5120
独家|微软亚太研发集团 CTO 王永东升任集团主席,洪小文国内不再担任职务
动态 | 微软任命王永东为全球资深副总裁:曾主持微软小冰研发工作
微软公司今天宣布,任命微软(亚洲)互联网工程院院长王永东博士为微软全球资深副总裁。 王永东博士领导微软人工智能与研究事业部以及Office产品事业部在亚洲的团队,负责微软在亚太地区的互联网产品与服务的
AI科技评论
2018/03/09
6830
动态 | 微软任命王永东为全球资深副总裁:曾主持微软小冰研发工作
MSRA第五任院长周礼栋上任!出身复旦,加盟微软19年,是大规模分布式系统专家
丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI “AI黄埔军校”换校长,微软亚洲研究院(MSRA)迎来第五任院长! 今日,微软官方宣布新任命: 微软杰出首席科学家、原微软亚洲研究院常务副院长周礼栋博士,升任微软亚洲研究院院长。 他将接替上一任院长洪小文博士,全面负责微软亚洲研究院在北京和上海的研究工作,以及与中国及亚太地区学术界和产业界的合作。 而洪小文博士则继续作为微软全球资深副总裁和微软亚太研发集团主席,负责推动微软在亚太地区的整体研发战略布局和创新生态系统的构建。 微软亚洲研究院的
量子位
2023/03/10
1.1K0
MSRA第五任院长周礼栋上任!出身复旦,加盟微软19年,是大规模分布式系统专家
洪小文卸任!复旦校友、微软首席科学家周礼栋博士升任微软亚研院长
中国微软今天宣布,微软杰出首席科学家、原微软亚洲研究院常务副院长周礼栋博士升任为微软亚洲研究院院长。
新智元
2021/07/29
3610
复旦校友、微软杰出首席科学家周礼栋博士升任微软亚研院长,洪小文不再兼任
机器之心报道 编辑:张倩、蛋酱 微软亚洲研究院又迎来了一位新院长。 刚刚,微软公司宣布,微软杰出首席科学家、原微软亚洲研究院常务副院长周礼栋博士升任微软亚洲研究院院长。同时,洪小文博士不再兼任微软亚洲研究院院长一职。 微软亚太研发集团包括微软亚洲研究院、微软互联网工程院、微软中国云计算与人工智能事业部、微软硬件中心等机构。其中,微软亚洲研究院是微软在美国之外规模最大、职能最完备的研发基地,前身是李开复等人在 1998 年创立的微软中国研究院。 由于二十多年间培养了多位 AI 领军人物,微软亚研也被誉为 A
机器之心
2023/03/29
3920
复旦校友、微软杰出首席科学家周礼栋博士升任微软亚研院长,洪小文不再兼任
微软亚洲研究院20年20人
作为人工智能的“黄埔军校”,微软亚洲研究院(MSRA)这20年来,走出了无数传奇人物。
量子位
2018/12/07
1.3K0
MSRA院长周礼栋升任微软全球资深副总裁,20年前加入微软,毕业于复旦
羿阁 发自 凹非寺 量子位 | 公众号 QbitAI 微软官方宣布新任命: 微软亚洲研究院院长周礼栋博士,升任为微软公司全球资深副总裁。 从2002年博士毕业后加入微软,周礼栋已经在微软度过了20个年头。 一路从研究员 、首席研究员 、微软亚洲研究院常务副院长,微软亚洲研究院院长,走到了今天的微软全球资深副总裁。 自去年7月升任微软亚洲研究院院长后,周礼栋一直全面负责微软亚洲研究院在中国及亚太地区的研究工作以及与学术界和产业界的合作。 让我们梳理一下这位新任微软全球资深副总裁的履历和成就。 履历回顾 周
量子位
2022/09/13
3140
MSRA院长周礼栋升任微软全球资深副总裁,20年前加入微软,毕业于复旦
微软亚洲研究院院长换帅!复旦校友周礼栋博士升任新院长
刚刚,微软(北京)宣布,微软杰出首席科学家、原微软亚洲研究院常务副院长周礼栋博士升任微软亚洲研究院院长,全面负责微软亚洲研究院在北京和上海的研究工作,以及与中国及亚太地区学术界和产业界的合作。
3D视觉工坊
2021/07/30
6460
微软系 40 大 AI 科学家,为何最钟情 GAIR 大会?
GAIR:沈向洋、黄学东、张宏江、杨强、周志华、洪小文、张正友、何晓冬等 40 大微软学术明星的 AI 第二故乡。
AI科技评论
2023/09/07
8430
微软系 40 大 AI 科学家,为何最钟情 GAIR 大会?
微软亚研换帅:微软杰出首席科学家周礼栋博士升任院长
AI科技大本营 1小时前来自 CSDN 今天,微软公司宣布:微软杰出首席科学家、原微软亚洲研究院常务副院长周礼栋博士升任微软亚洲研究院院长,全面负责微软亚洲研究院在北京和上海的研究工作,以及与中国及亚太地区学术界和产业界的合作。 周礼栋博士于2002年加入微软公司,此前曾任职微软硅谷研究院研究员、微软雷德蒙研究院系统研究组首席研究员、微软亚洲研究院常务副院长。周礼栋博士是系统研究领域首屈一指的专家,多年来一直专注于推动可靠、可信及可扩展的分布式系统的理论研究和实践探索。作为微软在设计和开发大规模分布式系
AI科技大本营
2023/05/08
3240
微软亚研换帅:微软杰出首席科学家周礼栋博士升任院长
梅涛博士加盟京东:掌舵京东计算机视觉与多媒体实验室
【导读】1月25日下午,计算机视觉和多媒体领域、前微软亚洲研究院资深研究员梅涛博士正式加入京东集团,出任京东集团 AI 平台与研究部 AI 研究院副院长,并担任计算机视觉与多媒体实验室主任。梅涛博士是
WZEARW
2018/04/12
1.7K0
梅涛博士加盟京东:掌舵京东计算机视觉与多媒体实验室
微软亚洲研究院芮勇出任联想CTO后首度发声,透露联想进军AI战略蓝图
【新智元导读】2016年11月3日,人工智能圈传来重大人事变更消息:微软亚洲研究院常务副院长芮勇加盟联想集团,出任高级副总裁兼CTO。昨天夜里,芮勇首度在朋友圈发声,确认了这一消息,并透露加盟联想后的战略规划和人才招揽计划,带兵的雄心壮志初显。芮勇对人工智能是怎么理解的?他有哪些技术特长?他会给联想带来什么?本文整理汇总了目前占据中国AI+要道上的微软“黄埔军”们,以及芮勇在新智元与中信证券联合举办的人工智能产业研讨会上的报告,同时带来芮勇的简要经历介绍。 2016年11月3日,联想集团总裁杨元庆发表公开信
新智元
2018/03/26
1.2K0
微软亚洲研究院芮勇出任联想CTO后首度发声,透露联想进军AI战略蓝图
专访 | 微软的野望:由小冰开始的人工智能革命
编者注: 洪小文博士师从图灵奖获得者拉吉·瑞迪(Raj Reddy),而拉吉·瑞迪则是人工智能领域的奠基人和拓荒者约翰·麦卡锡(John McCarthy)的学生。洪小文博士从事人工智能相关研究近30年,是国际公认的语音识别专家。本文分享了洪博士探索创新的心路历程,深入探讨了人工智能与人类的关系,以及人工智能将在什么情况下与人类“分道扬镳”。 人物介绍: 洪小文博士现为微软全球资深副总裁,微软亚太研发集团主席兼微软亚洲研究院院长,全面负责推动微软在亚太地区的科研及产品开发战略,以及与中国及亚太地区学术界的合
AI科技评论
2018/03/07
8500
专访 | 微软的野望:由小冰开始的人工智能革命
WAIC 2020 微软论坛精彩全回顾!
2020年,新冠疫情的肆虐放缓了全球经济增长的步伐,也提醒着我们,尽管科技发展突飞猛进,人类社会和自然环境仍然面临诸多挑战:自然灾害、流行病、贫穷、污染、饥饿等等。如何实现科技、人性与自然的平衡发展,需要社会各界的共同努力。
AI科技评论
2020/07/16
6350
智能肛珠作弊引热议/ 特斯拉超大电池起火/ 韦布公布首张火星照片...今日更多新鲜事在此
日报君 发自 凹非寺 量子位 | 公众号 QbitAI 大家好! 今天是9月21日周三,最受关注的肯定是英伟达40系列—— 巴特!下面几条新鲜事同样不可错过,一起来看看! 王永东升任微软亚太研发集团主席,洪小文国内不再担任职务 来自AI科技评论信息,原微软亚太研发集团CTO王永东,已于近日升任为集团主席。原集团主席洪小文已卸任,且在国内不再担任任何职务。 微软亚太研发集团由微软亚洲研究院(MSRA)、微软亚洲工程院、微软中国研发集团战略合作部,以及多个城市产品研发机构组成,集团负责统一和协调微软在中国的研
量子位
2022/09/22
2970
智能肛珠作弊引热议/ 特斯拉超大电池起火/ 韦布公布首张火星照片...今日更多新鲜事在此
2019中国计算机高引学者榜单出炉,164人入选,周志华位列第二
全球最大学术出版商之一爱思唯尔(Elsevier),发布了2019年中国高引学者榜单。
量子位
2020/05/19
8410
2019中国计算机高引学者榜单出炉,164人入选,周志华位列第二
清华大模型人才遭哄抢!盘点5大学术重镇10大产业玩家
衡宇 发自 凹非寺 量子位 | 公众号 QbitAI 做类ChatGPT产品,组中国版OpenaAI恐怕是先当下最最人尽皆知的创投野心。 有人官宣标榜放话,也有VC开始把视角投向产学研转换的大模型项目——或许能更有基础一些,其中,清华大学显然处于身负众望的头一梯队。 量子位独家获悉,背靠清华的大模型研究团队,计算机系教授唐杰牵头的创业公司智谱AI,身价水涨船高,在几近哄抢的状态中接近完成一轮新融资,估值已超30亿元。 唐杰的学生同样有市无价。其麾下知名弟子杨植麟的NLP创业公司循环智能,也被寄予厚望,一切往
量子位
2023/02/24
1.5K0
清华大模型人才遭哄抢!盘点5大学术重镇10大产业玩家
CCF-GAIR 2018 | 金融科技专场大咖名单公布!想和他们一起同行吗?
AI科技评论消息,备受瞩目的第三届全球人工智能与机器人峰会(CCF-GAIR)将于6月29日至7月1日在深圳举办。大会由中国计算机学会主办,雷锋网承办,其中,在6月30日举办的金融科技分场,就邀请了深圳市和信中欧金融科技研究院执行院长陈邦道担任主席,并有哈尔滨工业大学管理学院院长叶强教授、牛津大学计算机科学系Ivan Martinovic教授等学术嘉宾腾讯金融科技副总裁陈起儒、众安-复旦区块链与信息安全联合实验室副主任吴小川、融慧金科COO张羽、百融金服CRO季元、乐信技术副总裁史红哲等企业嘉宾为参会者分享金融科技的技术研究与成果。
AI科技评论
2018/07/27
9260
CCF-GAIR 2018 | 金融科技专场大咖名单公布!想和他们一起同行吗?
微软洪小文:制造业是最先享受AI成果的领域
由清华大学五道口金融学院、清华大学国家金融研究院举办的“未来已来”系列讲座在6月13日这天迎来了微软全球资深副总裁、微软亚太研发集团主席兼微软亚洲研究院院长洪小文博士。
大数据文摘
2019/06/20
3860
微软洪小文:制造业是最先享受AI成果的领域
ACL 2022选举结果公布!中科院自动化所宗成庆当选新一届副主席
近日,国际计算语言学学会(Association for Computational Linguistics, 简称ACL)发布消息,中科院自动化所宗成庆研究员当选新一届ACL候任副主席(Vice-President-elect),将于2023年1月1日正式履职。
新智元
2023/01/07
7250
ACL 2022选举结果公布!中科院自动化所宗成庆当选新一届副主席
推荐阅读
独家|微软亚太研发集团 CTO 王永东升任集团主席,洪小文国内不再担任职务
5120
动态 | 微软任命王永东为全球资深副总裁:曾主持微软小冰研发工作
6830
MSRA第五任院长周礼栋上任!出身复旦,加盟微软19年,是大规模分布式系统专家
1.1K0
洪小文卸任!复旦校友、微软首席科学家周礼栋博士升任微软亚研院长
3610
复旦校友、微软杰出首席科学家周礼栋博士升任微软亚研院长,洪小文不再兼任
3920
微软亚洲研究院20年20人
1.3K0
MSRA院长周礼栋升任微软全球资深副总裁,20年前加入微软,毕业于复旦
3140
微软亚洲研究院院长换帅!复旦校友周礼栋博士升任新院长
6460
微软系 40 大 AI 科学家,为何最钟情 GAIR 大会?
8430
微软亚研换帅:微软杰出首席科学家周礼栋博士升任院长
3240
梅涛博士加盟京东:掌舵京东计算机视觉与多媒体实验室
1.7K0
微软亚洲研究院芮勇出任联想CTO后首度发声,透露联想进军AI战略蓝图
1.2K0
专访 | 微软的野望:由小冰开始的人工智能革命
8500
WAIC 2020 微软论坛精彩全回顾!
6350
智能肛珠作弊引热议/ 特斯拉超大电池起火/ 韦布公布首张火星照片...今日更多新鲜事在此
2970
2019中国计算机高引学者榜单出炉,164人入选,周志华位列第二
8410
清华大模型人才遭哄抢!盘点5大学术重镇10大产业玩家
1.5K0
CCF-GAIR 2018 | 金融科技专场大咖名单公布!想和他们一起同行吗?
9260
微软洪小文:制造业是最先享受AI成果的领域
3860
ACL 2022选举结果公布!中科院自动化所宗成庆当选新一届副主席
7250
相关推荐
独家|微软亚太研发集团 CTO 王永东升任集团主席,洪小文国内不再担任职务
更多 >
LV.3
这个人很懒,什么都没有留下~
目录
  • Windows中使用MySql.Data库将C# 接到 MySQL
    • 入门
      • 下载Connector/Net
      • 创建数据库
    • 使用代码
      • 创建类
      • 打开和关闭连接
      • 使用 DML(插入、更新、选择、删除)
      • 备份和恢复数据库
    • 总结
      • 历史
      • License
      • 撰写者
  • 在VS2022中运行本文的源代码
    • 运行程序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档