zoukankan      html  css  js  c++  java
  • C#与数据库访问技术总结(六)之Command对象创建SQl语句代码示例

    Command对象创建SQl语句代码示例

      说明:前面介绍了 Command 对象的方法和一些属性,回顾一下 Command对象主要用来执行SQL语句。利用Command对象,可以查询数据和修改数据。

      在下面这段代码里,首先根据连接字符串创建一个SqlConnecdon连接对象,并用此对象连接数据源:然后创建一个SqlCommand对象,并用此对象的ExecuteNonQuery方法执行不带返回结果集的SQL语句。

      

     1 //连接字符串
     2 
     3 private static string strConnect=" data source=localhost;database=LOGINDB;uid=sa;pwd=aspent;"
     6 
     7 // 根据连接字符串创建SqlConnection 连接句柄
     8 
     9 SqlConnetion objConnection =new SqlConnection(strConnect);
    10 
    11 //数据库命令
    12 
    13 SqlCommand objCommand =new SqlCommand( " ",objConnection);
    14 
    15 // 设置sql语句
    16 
    17 objCommand.CommandText= " INSERT INTO USERS " + " (USERNAME, NICKNAME, USERPASSWORD, USEREMAIL, USERROLE, CREATDATE, LASTMODIFYDATE) "+ " VALUES " +" (@USERNAME, @NICKNAME, @USERPASSWORD, @USEREMAIL, @USERROLE, @CREATDATE, @LASTMODIFYDATE ) ";
    18 
    19 // 以下省略设置各值的语句
    20 
    21 ……
    22 
    23 try
    24 
    25 {
    26 
    27 //打开数据库连接
    28 
    29 if( objConnection.State == ConnectionState. Closed )
    30 
    31 {
    32 
    33 objConnection.Open();
    34 
    35 }
    36 
    37 //获取运行结果,插入数据
    38 
    39 objCommand.ExecuteNonQuery();
    40 
    41 //省略后继动作
    42 
    43 ……
    44 
    45 }
    46 
    47 catch(SqlException e)
    48 
    49 {
    50 
    51 Response.Write(e.Message.ToString());
    52 
    53 }
    54 
    55 finally
    56 
    57 {
    58 
    59 //关闭数据库连接
    60 
    61 if(objConnection.State == ConnectionState.Open)
    62 
    63 {
    64 
    65 objConnection.Close();
    66 
    67 }
    68 
    69 }

      这段代码是连接数据库并执行操作的典型代码。

      其中,操作数据库的代码均在try… catch … finally结构中,因此代码不仅能正常地操作数据库,更能在发生异常的情况下抛出异常。

      另外,不论是否发生异常,也不论发生了哪种数据库操作的异常,finally块里的代码均会被执行,

      所以,一定能保证代码在访问数据库后关闭连接。

      而在下面的代码里,将使用Command对象执行查询类的SQL语句,并将结果集赋给DataRead对象。

    private static string strConnect=" data source=localhost;uid=sa;pwd=aspent;database=LOGINDB"
    
    SqlConnetion objConnection =new SqlConnection(strConnect);
    
    SqlCommand objCommand =new SqlCommand( " ",objConnection);
    
    // 设置sql语句
    
    objCommand.CommandText= "SELECT * FROM USERS ";
    
    try
    
    {
    
    //打开数据库连接
    
    if( objConnection.State == ConnectionState. Closed )
    
    objConnection.Open();
    
    //获取运行结果
    
    SqlDataReader result=objCommand.ExecuteReader();
    
    //省略后继动作
    
    ……
    
    }
    
    catch(SqlException e)
    
    {
    
    Response.Write(e.Message.ToString());
    
    }
    
    finally
    
    {
    
    //关闭数据库连接
    
    if(objConnection.State == ConnectionState.Open)
    
    {
    
    objConnection.Close();
    
    }
    
    }

      这里用到DataReader对象来获得结果集,如果仅仅想返回查询结果集的第一行第一列的值,可以将SqlDataReader result=objCommand.ExecuteReader();改成objCommand.ExecuteScalar().ToString(); 

     

  • 相关阅读:
    css浏览器兼容问题集锦
    【转】H264编码原理以及I帧B帧P帧
    Makefile Shell 脚本;sed命令
    oProfile 学习
    C++ 局部变量的析构
    【转】C++ 单例模式
    C++ operator 知识点 2
    C++ operator 知识点
    218多校第九场 HDU 6424 (数学)
    2018多校第九场 HDU 6416 (DP+前缀和优化)
  • 原文地址:https://www.cnblogs.com/zi-xing/p/4033301.html
Copyright © 2011-2022 走看看