24cun_cn 发表于 2017-7-13 23:15:05

ADO.NET实现对SQL Server数据库的增删改查

  了解了上一篇的ADO.NET简介,我们就可以来对数据库进行增删改查等基本操作了!下面是每种操作的具体实现。
  先在自定义类的头部定义好数据库连接对象和连接字符串:



1         string connectionString = "Data Source=SC-201607131829;Initial Catalog=Animal;Integrated Security=True";
2
3         SqlConnection conn;
  1.数据库的查询操作,返回一个DataTable



1 public DataTable doSelect()
2         {
3
4             string sql = "select * from detial";
5
6             using (conn = new SqlConnection(connectionString))
7             {
8
9               conn.Open();
10
11               SqlDataAdapter da = new SqlDataAdapter(sql, conn);
12
13               DataSet ds = new DataSet();
14
15               da.Fill(ds);    //填充DataSet
16
17               return ds.Tables;
18
19             }
20         }
  2.数据库插入操作,返回布尔值



1 public bool doInsert(string name, string skin, string weight)
2         {
3
4             string sql = "insert into detial(name,skin,weight)values(@name,@skin,@weight)";
5
6             SqlParameter[] newAnimal = {
7                   new SqlParameter("name",name),
8                   new SqlParameter("skin",skin),
9                   new SqlParameter("weight",skin)
10             };
11
12             using (conn = new SqlConnection(connectionString))
13             {
14               SqlCommand com = new SqlCommand(sql, conn);
15               try
16               {
17                     if (newAnimal != null)
18                     {
19                         foreach (SqlParameter parameter in newAnimal)
20                         {
21                           com.Parameters.Add(parameter);
22
23                         }
24                     }
25                     conn.Open();
26
27                     int influence = com.ExecuteNonQuery();
28
29                     if (influence > 0)
30                     {
31
32                         return true;
33                     }
34                     else
35                     {
36
37                         return false;
38                     }
39               }
40               catch (Exception exception)
41               {
42                     return false;
43               }
44             }
45         }
  3.数据库删除操作,返回布尔值



1 public bool doDelete(string name)
2         {
3
4             string sql = "delete from detial where name = @name";
5
6             SqlParameter[] deleteParameter = { new SqlParameter("name", name) };
7
8             using (conn = new SqlConnection(connectionString))
9             {
10
11               SqlCommand com = new SqlCommand(sql, conn);
12               
13               try
14               {
15
16                     if (deleteParameter != null)
17                     {
18                         foreach (SqlParameter parameter in deleteParameter)
19                         {
20                           com.Parameters.Add(parameter);
21                         }
22                        
23                     }
24
25                     conn.Open();
26
27                     int influence = com.ExecuteNonQuery();
28
29                     if (influence > 0)
30                     {
31
32                         return true;
33                     }
34                     else
35                     {
36
37                         return false;
38                     }
39               }
40               catch (Exception exception)
41               {
42                     return false;
43               }
44             }
45         }

  4.数据库更新操作,返回布尔值



1 public bool doUpdate(string name , string skin) {
2
3             string sql = "update detial set skin = @skin where name = @name";
4             SqlParameter[] updateParameter = {
5                                        new SqlParameter("name",name),
6                                        new SqlParameter("skin",skin)
7             };
8
9             using (conn = new SqlConnection(connectionString)) {
10
11               SqlCommand com = new SqlCommand(sql,conn);
12
13                     try {
14
15                         if (updateParameter != null) {
16                           
17                           foreach(SqlParameter parameter in updateParameter){
18
19                                 com.Parameters.Add(parameter);
20
21                           }
22                         }
23
24                         conn.Open();
25
26                         int influence = com.ExecuteNonQuery();
27
28                         if (influence > 0)
29                         {
30
31                           return true;
32                         }
33                         else
34                         {
35
36                           return false;
37                         }
38                     
39                     }catch(Exception exception){
40
41                         return false;
42                     }
43             }
44
45         }
  其中为了防止sql注入,用到了SqlParameter类,详细用法可以参照https://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlparameter(VS.80).aspx
页: [1]
查看完整版本: ADO.NET实现对SQL Server数据库的增删改查