文章基于MySQL Connection/NET 手册,手册链接如下:
开始之前,需要先添加MySql.Data引用
在using把MySql.Data,MySql.Data.MySqlClient,System.Data三个命名空间包括进来。
接下来,我们要介绍两个基础对象,MySqlConnection对象用于和数据库建立连接;MySqlCommand对象用于把SQL语句传送到数据服务器执行;
MySqlConnection对象
MySqlConnection类是用来连接MySQL数据库的,它接收一个连接用的字符串,返回一个MySqlConnection对象。
string connStr = "server = localhost; user = root; database = world; port = 3306; password = ***"
MySqlConnection conn = new MySqlConnection(connStr) ;
try{conn.Open();}
catch(Exception ex){Console.WriteLine(ex.ToString());}
MySqlCommand 对象
MySqlCommand 对象的创建
MySqlCommand对象实例化时接收两个参数:SQL语句(命令)以及和数据库的连接,即MySqlConnection连接对象。
string sql = "SELECT * from writer;" ;
MySqlCommand cmd = new MySqlCommand(sql, conn) ;
MySqlCommand 对象常用的三个执行方法
ExecuteReader
调用ExecuteReader方法来查询数据库。返回一个包含着查询结果的MySqlDataReader对象。
ExecuteNonQuery
调用ExecuteNonQuery来插入和删除数据。
ExecuteScalar
仅返回单个值
至此,整个步骤是:使用账号密码等连接数据库创建MySqlConnection对象
将命令以及连接对象传给命令构造器MySqlCommand
调用命令构造器的执行方法如,executeReader
ExecuteReader 示例
MysqlCommand cmd = new MySqlCommand(sql, conn) ;
MySqlDataReader rdr = cmd.ExecuteReader();
while(rdr.Read())
{
Console.WriteLine(rdr[0] + " -- " + rdr[1]) ;
}
rdr.Close() ;
ExecuteNonQuery 示例
string sql = "INSERT INTO writer value(...)" ;
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.ExecuteNonQ