zoukankan      html  css  js  c++  java
  • ADO.NET结合C#常见的数据库操作(一)

      ADO.NET使我们在VS开发中用到最多的数据库访问接口,这里我不见它的原理和其它,直接说它的几种常见的用法。

    声明:在ADO.NET全部讲完之后,会将整个源代码贴出,将单个的时候只贴出涉及到的代码。

    一、SqlCommand  

      表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。 此类不能被继承。Command类可以执行任何类型的SQL语句。

      1、构造函数

      我们在使用其执行SQL语句的时候,必须首先声明其对象,常用的三种:

      ◆ SqlCommand()           初始化 SqlCommand 类的新实例。

      ◆ SqlCommand(String)   用查询文本初始化 SqlCommand 类的新实例。

      ◆ SqlCommand(String,SqlConnection)  初始化具有查询文本和 SqlConnection 的 SqlCommand 类的新实例。

    【注】SqlConnection 的使用将不单独讲,因为在操作数据库的时候都会用到。

      2、常见属性

      ◆ CommandText    获取或设置要对数据源执行的 Transact-SQL 语句、表名或存储过程。

      ◆ CommandType   获取或设置一个值,该值指示如何解释 CommandText 属性。

      ◆ Connection         获取或设置 SqlCommand 的此实例使用的 SqlConnection。

      ◆ Parameters         获取 SqlParameterCollection(sql语句中需要输入的阐述集合)。

      3、常用方法

      ◆ ExecuteNonQuery    执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令并返回受影响的行数。 

      ◆ ExecuteReader()     将 CommandText 发送到 Connection 并生成一个 SqlDataReader。

      ◆ ExecuteReader(CommandBehavior)  将 CommandText 发送到 Connection,并使用 CommandBehavior 值之一生成一个 SqlDataReader。

      ◆ ExecuteScalar         执行查询,并返回查询所返回的结果集中第一行的第一列。 忽略其他列或行。

      ◆ Dispose()                释放由 Component 使用的所有资源。 

     

      3、示例

      ◇使用SqlCommand执行添加数据的操作:

    string teacherName = NameTextBox.Text.Trim();
    string strConn = ConfigurationManager.ConnectionStrings["ConnectionStr"].ToString();//获取数据库连接字符串
    SqlConnection conn = new SqlConnection(strConn);//创建连接
    
    try
    {
         conn.Open();//打开数据库连接
         string inserStr = "insert into Fortyfour_Teacher (TeacherName) values (@teacherName)";
         using(SqlCommand cmd = new SqlCommand(inserStr,conn))    
       { SqlParameter p1
    = new SqlParameter("@teacherName",teacherName); cmd.Parameters.Add(p1);//添加参数 if (cmd.ExecuteNonQuery() > 0) { //添加成功的操作 } else { //添加失败的操作 } } } catch(Exception ex){ throw ex; } finally{ conn.Close();//关闭数据库,可以在打开 conn.Dispose();//关闭数据库,释放控件,不可在连接。 }

      ◇使用SqlCommand执行删除、修改数据的操作,这里我不写出代码,这个和添加很像,区别在于 sql语句不一样

      ◇使用SqlCommand执行查询数据的操作,这个需要结合DataReader()或者DataAdapter()来获得数据库中的数据,DataAdapter()将在后面的文章中详细讲解,现在将讲解一下DataReader()。

    二、SqlDataReader 

      提供一种从 SQL Server 数据库读取行的只进流的方式。 此类不能被继承。只能向下顺序执行,一次读取一条记录,所以需要随时保存的记录。

      1、常用属性

      ◆ IsClosed     检索一个布尔值,该值指示是否已关闭指定的 SqlDataReader 实例。

      2、常用方法

      ◆ Read()                        使 SqlDataReader 前进到下一条记录。

      ◆ Close                          关闭 SqlDataReader 对象。 

      ◆ Dispose()                    释放 DbDataReader 类的当前实例所使用的所有资源。 

      ◆ IsCommandBehavior   确定指定的 CommandBehavior 是否与 SqlDataReader 的对应项匹配。

      ◆ IsDBNull                      获取一个值,用于指示列中是否包含不存在的或缺少的值。

      3、示例,结合SqlCommand

    private static void ReadStudent(string connectionString)
    {
        string queryString = "SELECT StudentId, StudentName FROM Student";
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command =
                new SqlCommand(queryString, connection);
            connection.Open();
    
            using(SqlDataReader reader = command.ExecuteReader()){//使用DataReader对象保存读取的数据
              while (reader.Read())//向下读取数据,判断是否有数据
              {
                  Console.WriteLine(String.Format("{0}, {1}",reader[0], reader[1]));
              }
            }
        }
    }

       参考资料:MSDN

      【注】下篇文章将详细讲解DataAdapter与DataSet/DataTable,以及CommandBuilder

     

  • 相关阅读:
    HDU 1025 Constructing Roads In JGShining's Kingdom (DP+二分)
    HDU 1158 Employment Planning
    HDU 2059 龟兔赛跑
    Csharp 简单操作Word模板文件
    Csharp windowform datagridview Clipboard TO EXCEL OR FROM EXCEL DATA 保存datagridview所有數據
    Csharp 讀寫文件內容搜索自動彈出 AutoCompleteMode
    Csharp windowform controls clear
    CSS DIV大图片右上角叠加小图片
    Csharp DataGridView自定义添加DateTimePicker控件日期列
    Csharp 打印Word文件默認打印機或選擇打印機設置代碼
  • 原文地址:https://www.cnblogs.com/huangbx/p/2653322.html
Copyright © 2011-2022 走看看