数据库访问模块
1namespace Skyiv.Data.SqlClient
2{
3 using System.Data;
4 using System.Data.SqlClient;
5
6 class SqlObject
7 {
8 protected SqlConnection conn;
9
10 // 构造函数,参数为连接串。
11 protected SqlObject(string strConn)
12 {
13 conn = new SqlConnection(strConn);
14 }
15
16 // 执行SQL,将结果返回到数据集中。
17 public DataSet DsQuery(string strSql, params SqlParameter [] paras)
18 {
19 SqlCommand cmd = new SqlCommand(strSql, conn);
20 foreach (SqlParameter para in paras)
21 {
22 cmd.Parameters.Add(para);
23 }
24 SqlDataAdapter apt = new SqlDataAdapter(cmd);
25 DataSet ds = new DataSet();
26 apt.Fill(ds);
27 return ds;
28 }
29
30 // 执行SQL,将结果返回到数据表中。
31 public DataTable DtQuery(string strSql, params SqlParameter [] paras)
32 {
33 return DsQuery(strSql, paras).Tables[0];
34 }
35
36 // 执行SQL,将结果返回到数据行中。
37 public DataRow DrQuery(string strSql, params SqlParameter [] paras)
38 {
39 DataTable dt = DsQuery(strSql, paras).Tables[0];
40 if (dt.Rows.Count == 0) return null;
41 else return dt.Rows[0];
42 }
43
44 // 执行SQL,并返回查询所返回的结果集中第一行的第一列。
45 public object ScalarQuery(string strSql, params SqlParameter [] paras)
46 {
47 SqlCommand cmd = new SqlCommand(strSql, conn);
48 try
49 {
50 cmd.Connection.Open();
51 foreach (SqlParameter para in paras)
52 {
53 cmd.Parameters.Add(para);
54 }
55 return cmd.ExecuteScalar();
56 }
57 finally
58 {
59 cmd.Connection.Close();
60 }
61 }
62
63 // 执行SQL,返回受影响的行数。
64 public int ExecNonQuery(string strSql, params SqlParameter [] paras)
65 {
66 SqlCommand cmd = new SqlCommand(strSql, conn);
67 cmd.Connection.Open();
68 foreach (SqlParameter para in paras)
69 {
70 cmd.Parameters.Add(para);
71 }
72 int n = cmd.ExecuteNonQuery();
73 cmd.Connection.Close();
74 return n;
75 }
76
77 // 执行SQLs,返回受影响的行数。
78 public int ExecNonQuerys(params string [] strSqls)
79 {
80 SqlCommand cmd = new SqlCommand();
81 cmd.Connection = conn;
82 cmd.Connection.Open();
83 int n = 0;
84 foreach (string strSql in strSqls)
85 {
86 cmd.CommandText = strSql;
87 n += cmd.ExecuteNonQuery();
88 }
89 cmd.Connection.Close();
90 return n;
91 }
92
93 } // End of class SqlObject
94} // End of namespace Skyiv.Data.Sql
2{
3 using System.Data;
4 using System.Data.SqlClient;
5
6 class SqlObject
7 {
8 protected SqlConnection conn;
9
10 // 构造函数,参数为连接串。
11 protected SqlObject(string strConn)
12 {
13 conn = new SqlConnection(strConn);
14 }
15
16 // 执行SQL,将结果返回到数据集中。
17 public DataSet DsQuery(string strSql, params SqlParameter [] paras)
18 {
19 SqlCommand cmd = new SqlCommand(strSql, conn);
20 foreach (SqlParameter para in paras)
21 {
22 cmd.Parameters.Add(para);
23 }
24 SqlDataAdapter apt = new SqlDataAdapter(cmd);
25 DataSet ds = new DataSet();
26 apt.Fill(ds);
27 return ds;
28 }
29
30 // 执行SQL,将结果返回到数据表中。
31 public DataTable DtQuery(string strSql, params SqlParameter [] paras)
32 {
33 return DsQuery(strSql, paras).Tables[0];
34 }
35
36 // 执行SQL,将结果返回到数据行中。
37 public DataRow DrQuery(string strSql, params SqlParameter [] paras)
38 {
39 DataTable dt = DsQuery(strSql, paras).Tables[0];
40 if (dt.Rows.Count == 0) return null;
41 else return dt.Rows[0];
42 }
43
44 // 执行SQL,并返回查询所返回的结果集中第一行的第一列。
45 public object ScalarQuery(string strSql, params SqlParameter [] paras)
46 {
47 SqlCommand cmd = new SqlCommand(strSql, conn);
48 try
49 {
50 cmd.Connection.Open();
51 foreach (SqlParameter para in paras)
52 {
53 cmd.Parameters.Add(para);
54 }
55 return cmd.ExecuteScalar();
56 }
57 finally
58 {
59 cmd.Connection.Close();
60 }
61 }
62
63 // 执行SQL,返回受影响的行数。
64 public int ExecNonQuery(string strSql, params SqlParameter [] paras)
65 {
66 SqlCommand cmd = new SqlCommand(strSql, conn);
67 cmd.Connection.Open();
68 foreach (SqlParameter para in paras)
69 {
70 cmd.Parameters.Add(para);
71 }
72 int n = cmd.ExecuteNonQuery();
73 cmd.Connection.Close();
74 return n;
75 }
76
77 // 执行SQLs,返回受影响的行数。
78 public int ExecNonQuerys(params string [] strSqls)
79 {
80 SqlCommand cmd = new SqlCommand();
81 cmd.Connection = conn;
82 cmd.Connection.Open();
83 int n = 0;
84 foreach (string strSql in strSqls)
85 {
86 cmd.CommandText = strSql;
87 n += cmd.ExecuteNonQuery();
88 }
89 cmd.Connection.Close();
90 return n;
91 }
92
93 } // End of class SqlObject
94} // End of namespace Skyiv.Data.Sql