之前学JAVA的时候,老师讲数据库的时候,讲到可以用一个类来连接数据库,叫做Dao层,今天要用C#做上位机,也有一些数据要写到数据库中去,我就想,能不能也给C#写一个这样的Dao层来连接数据库,我就去百度,结果看到有一个帖子写了这样的,我就把代码复制下来看,但是他直接在这个类里面处理数据了,于是我综合了Java的代码,和这份代码,改出来了现在连接数据库的类DButil
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 public class DButil 2 { 3 MySqlConnection mycon = null;//连接 4 MySqlCommand mycmd = null;//Sql命令 5 string constr = "server=localhost;User Id=root;password=zp730238;Database=smarthome"; 6 MySqlDataReader rs = null; 7 public DButil() 8 { 9 10 // TODO: 在此处添加构造函数逻辑 11 12 } 13 public MySqlConnection getMySqlCon() 14 { 15 if(mycon == null) 16 { 17 mycon = new MySqlConnection(constr); 18 mycon.Open(); 19 } 20 return mycon; 21 } 22 public void closeConnection() 23 { 24 if (mycon != null) 25 { 26 mycon.Close(); 27 } 28 29 } 30 public MySqlCommand getMySqlCommand(String sql, MySqlConnection con) 31 { 32 if(mycmd == null) 33 { 34 mycmd = new MySqlCommand(sql, con); 35 } 36 else 37 { 38 mycmd.CommandText = sql; 39 mycmd.Connection = con; 40 } 41 42 return mycmd; 43 } 44 public MySqlDataReader getResultset(String sql) 45 { 46 47 try 48 { 49 mycon = getMySqlCon(); 50 mycmd = getMySqlCommand(sql, mycon); 51 rs = mycmd.ExecuteReader(); 52 return rs; 53 } 54 catch (Exception) 55 { 56 mycon.Close(); 57 return null; 58 } 59 60 } 61 //<summary> 62 //添加数据 63 //</summary> 64 //<param name="mySqlCommand"></param> 65 public int getUpdata(String sql) 66 { 67 int num = 0; 68 try 69 { 70 mycon = getMySqlCon(); 71 mycmd = getMySqlCommand(sql,mycon); 72 num = mycmd.ExecuteNonQuery(); 73 74 } 75 catch (Exception ex) 76 { 77 //Todo: 78 // Console.WriteLine("error"); 79 } 80 return num; 81 } 82 }
这个类主要包括四个属性,五个方法,
MySqlConnection mycon = null;//连接
MySqlCommand mycmd = null;//Sql命令
string constr = "server=localhost;User Id="";password="";Database=""";//Sql连接配置
MySqlDataReader rs = null;//返回的结果集
五个方法分别是,获取连接,关闭连接,获取执行命令,查询数据库,懒得写了,看不懂直接联系我吧。