zoukankan      html  css  js  c++  java
  • 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的用法就不说了。

     

  • 相关阅读:
    leetcode[68] Climbing Stairs
    leetcode[67] Plus One
    17_8_16 接口实例化的方法
    17_8_15 lambda 表达式
    17_8_14 回调函数
    17_8_11 Spring Jdbc+Dbcp
    17_8_10 eclipse 中复制网上代码 出现 报错 问题(0)
    17_8_10 PostgreSql Mac
    17_8_10 项目开发流程
    17_8_9 html 不常用的标签
  • 原文地址:https://www.cnblogs.com/sooflow/p/3915194.html
Copyright © 2011-2022 走看看