最近在学习使用数据库进行C#开发项目的数据管理。学习了下sql server 和mysql的东西。这两个比较相似,而且容易上手,准备以后用这个了。
首先,使用C#连接数据库,要有C#和数据库之间通讯的接口。
如果用sql server,那么C#中已经包含了这些接口,在system.data.sqlClient中。如果使用mysql,则需要下载用于通讯的接口dll.我用的是mysql-connector-net-5.0.9.exe.这个可以根据你安装的mysql版本去官网上下载。下载安装后哦,将安装路径下的MySql.Data.dll添加到C#引用中就可以使用了。具体的使用方法基本和sql server相同。比如,sql server是SqlConnection连接对象;mysql是MySqlConnection创建连接对象。
接下来,就是创建与数据库的连接了。
这里使用的是连接字符串。一开始学习,网上各种材料直接给出了像string constr = "Data Source=steve-pc;Initial Catalog=itcast2013;Integrated Security=True";这样的连接字符串。里面各个关键字什么意思呢?都有哪些关键字,能提供什么选项?基本上都没有解析(估计是人家都用的非常熟练了,不屑解释了)。用起来还是不知道什么意思,不知道怎么改动了。
所以,新手推荐使用SqlConnectionStringBuilder 和MySqlConnectionStringBuilder来创建连接对象。它们的属性和方法都一目了然,而且SqlConnectionStringBuilder都有注释,类推到MySqlConnectionStringBuilder就可以了。
具体怎么写呢?上个例子:
1. SqlConnectionStringBuilder ss = new SqlConnectionStringBuilder();
ss.DataSource = "ciwei-pc"; //连接的数据库的实例或者网络地址
ss.InitialCatalog = "users"; //连接的数据库的名称
ss.IntegratedSecurity = true; //是否可以windows登录验证
ss.UserID = "root";
ss.Password = "root";
ss.Pooling = true; //是否使用连接池
using (SqlConnection con = new SqlConnection(ss.ConnectionString))
{
}
2. mysql
MySqlConnectionStringBuilder stf = new MySqlConnectionStringBuilder();
stf.Database = "login"; // 同 ss.initialCatalog
stf.Server = "localhost"; //同 ss.DataSource
stf.UserID = "root";
stf.Password = "root";
stf.Pooling = true;
stf.CharacterSet = "utf8"; // 支持中文
stf.Port = 3306;
using (MySqlConnection con = new MySqlConnection(stf.ConnectionString))
{
....
}
这样就连上了。