应用程序对数据库的操作都是只有4个:增,删,改,查。
只有”查”的操作需要使用适配器来存储查询得到的数据。其它3个操作不需要用到适配器。
不同的数据库有共同操作方法:都要建立连接对象,连接对象要有连接字符串,连接字符串用来指定数据库的位置。因为数据库可以是在本机(也就是和应用程序在同一台机器上),也可以是局域网中的某台服务器。所以,连接字符串都会有服务器名,用户名,密码,数据库名这几样东西。
数据库也是1个应用程序,也就说C#应用程序读写操作数据库就是2个应用程序之间的访问操作。所以不同的数据库之间的访问操作都不一样。每个数据库都会提供动态链接库.dll来给C#编程使用,在解决方案的“引用”处右键添加引用-》找到从数据库厂家网站上下载得到的.dll文件,你在需要编程的.cs文件的头部就可以使用动态链接库提供的类对象来操作数据库了。
Dll库里面包含多个不同功能的命名空间,命名空间里面有多个类,我只需要使用其中1个命名空间,如下的using MySql.Data.MySqlClient;
这个命名空间有MySqlConnection连接类,MySqlCommand命令类,MySqlDataAdapter适配器类。
using MySql.Data.MySqlClient;//这是MYSQL数据库的命名空间。
有了上面这一句引用,你在程序中就可以使用操作数据库的相关对象了。你统计一下,操作数据库的模式,看下面2个操作。是不是差不多?准备好就open,操作完就close.要准备的东西就2个:连接对象和命令对象。连接上数据库还要操作数据库,所以这2个对象是必备的。增删改都只要2个对象。对于查询,需要3个对象:连接对象,命令对象,适配器对象。适配器对象用来存储查到的内容。
MYSQL数据库的操作:要引用:using MySql.Data.MySqlClient;
增删改查操作都是相同的模式,open----操作----close. 以下的操作都在VS2015中正常使用,可以直接复制使用
MYSQL数据库插入操作:
前2行得到1个完整的对象绝对位置.第一行得到主机数据库.第二行得到数据库中的数据表a //建立1个mysql连接对象并且直接初始化连接字符串.这样简约 MySqlConnection myConnnect = new MySqlConnection("server=localhost;User Id=root;password=123456;Database=aa"); string SQLSTR = string.Format("insert into A(A,B,C,daytime) values('{0}','{1}','{2}','{3}')", PLCvalue.VD100, PLCvalue.VD104, PLCvalue.VD108, DateTime.Now.ToString()); MySqlCommand mycm = new MySqlCommand(SQLSTR, myConnnect); myConnnect.Open(); mycm.ExecuteNonQuery(); myConnnect.Close(); //******************************************************** |
MYSQL数据库查询操作:
//***这段是MYSQL数据库查询的操作************************* 前2行得到1个完整的对象绝对位置.第一行得到主机数据库.第二行得到数据库中的数据表a //建立1个mysql连接对象并且直接初始化连接字符串.这样简约 MySqlConnection myConnnect = new MySqlConnection("server=localhost;User Id=root;password=123456;Database=aa"); //在屏幕上有2个datetimepicker日期时间输入控件,可以根据输入的2个时间,查询得到2个时间之间的所有数据 string SQL= string.Format("select * from a where daytime between '{0}' and '{1}'", dateTimePicker1.Value, dateTimePicker2.Value); DataSet ds = new DataSet();//新建1个数据集 MySqlCommand cmd = new MySqlCommand(SQL, myConnnect);//新建立1个数据库命令对象用来执行你下达的命令,命令就是上面的命令字符串SQL myConnnect.Open();//打开数据库 MySqlDataAdapter dd = new MySqlDataAdapter(cmd);//只有查询数据库才会用到适配器对象,用来存储上面的命令执行后得到的数据内容. dd.Fill(ds);//然后把内容填充到数据集对象 myConnnect.Close();//操作完成关闭数据库 //******************************************************* |
MYSQL数据库删除操作:
MySqlConnection myConnnect = new MySqlConnection("server=localhost;User Id=root;password=123456;Database=aa"); string sql2 = "delete from a order by daytime limit 10";//会删除最旧的日期时间的10行 string sql2 = "delete from a order by daytime desc limit 10";//会删除最新日期时间的10行,这2行按需要选1行使用 MySqlCommand cmd1 = new MySqlCommand(sql2, myConnnect); myConnnect.Open();//打开数据库 int k = cmd1.ExecuteNonQuery();//执行动作 MessageBox.Show("已删除" + k.ToString() + "条记录"); myConnnect.Close();//操作完成关闭数据库 |