C# ADO连接数据库

C#中用ADO连接数据库一般是自己先新建一个类,声明一个SqlConnection变量(用于连接数据库),把对数据库的操作写成方法放在类中。

下面是我自己写的一个数据库类。

写这个类的时候要加入using System.Data.SqlClient;(因为引用了sql操作的一些类)

 

 1 public class DataBase
 2     {
 3         SqlConnection conn;
 4         public DataBase(string str)
 5         {
 6             this.conn = new SqlConnection(str);
 7         }
 8         public void open()
 9         {
10             if (conn.State == ConnectionState.Closed)
11             {
12                 conn.Open();
13             }
14         }
15         public void close()
16         {
17             if (conn.State == ConnectionState.Open)
18             {
19                 conn.Close();
20             }
21         }
22         public DataTable query_dt(string sql)
23         {
24             SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
25             DataTable dt=new DataTable();
26             sda.Fill(dt);
27             return dt;
28         }
29         public DataSet query_ds(string sql)
30         {
31             SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
32             DataSet ds = new DataSet();
33             sda.Fill(ds);
34             return ds;
35         }
36         public int update(string sql)
37         {
38             open();
39             SqlCommand sc = new SqlCommand();
40             sc.CommandText = sql;
41             sc.CommandType = CommandType.Text;
42             sc.Connection = conn;
43             int x = sc.ExecuteNonQuery();
44             close();
45             return x;
46         }
47     }
View Code

 

先介绍数据库操作的一些类吧。

首先是SqlConnection,该类用于与数据库建立连接,与数据库建立连接的时候,只要实例化一个SqlConnection对象,代码如下:

SqlConnection conn= new SqlConnection("server=;database=vote;uid=sa;pwd=czjszx");

然后使用该类的Open()方法,就能和数据库建立连接,使用完数据库,还要使用该类的Close()方法关闭数据库。

接下来是SqlCommand类,使用该类要设置数据库接口。例如我们先实例化一个SqlCommand对象,然后设置它的数据库接口。代码如下:

SqlCommand  sc=new SqlCommand(); sc.Connection=conn;//conn为SqlConnection类

设置好数据库接口,接下来就是设置你要对数据库执行的sql语句。代码如下:

sc.CommandText = sql;//sql为string类型
sc.CommandType = CommandType.Text;//命令的种类

 然后就是执行命令了。要先打开数据库,执行完要关闭数据库。

下面介绍两种执行方式,还有其他方式。

int x=sc.ExecuteNonQuery()//x 为执行所影响的行数   第一种
SqlDataReader sdr=sc.ExecuteReader();  // 第二种

上面的执行结果返回了一个SqldDataReader对象,可以让我们读取查询结果。

用法如下:

string str="";
while(sdr.Read())
{
   str+=sdr["columns1"]+sdr[“columns2”];
}

 这样读取是逐行读取,SqldDataReader的Read()方法会自动地移到下一行。columns1和columns2是列名,也可以用下标0,1访问对应值。

最后就是SqlDataAdapter类,使用该类要设置好数据库接口,要执行的sql语句,然后执行Fill() ,就自动执行了,不用自己打开数据库,执行完也会自动关闭数据库。

SqlDataAdapter sda = new SqlDataAdapter(sql, conn); //  还可以这么实例化 SqlDataAdapter sda = new SqlDataAdapter(sc);  sc是                                                                                    // 一个已经设置好数据库接口和执行语句的sqlommand对象
DataTable dt=new DataTable();
 sda.Fill(dt);

上面我使用DataTable(就是一张表)来储存执行结果。

DataTable的用法就不说了。

 

posted @ 2014-08-15 16:28  sooflow  阅读(881)  评论(0编辑  收藏  举报