空军

skyiv studio

导航

数据库访问模块

 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 == 0return 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

posted on 2005-10-15 18:51  空军  阅读(584)  评论(4编辑  收藏  举报