01 Command 对象概述

C# 执行 SQL 语句_oracle

Command 对象是一个数据命令对象,主要功能是向数据库发送查询、更新、删除、修改操作的 SQL 语句。Command 对象主要有以下几种方式。

C# 执行 SQL 语句_sql_02  SqlCommand:用于向SQL Server 数据库发送 SQL 语句,位于 System.Data.SqlClient 命名空间。

C# 执行 SQL 语句_sql_02   OleDbCommand:用于向使用 OLEDB 公开的数据库发送 SQL 语句,位于 System.Data.OleDb 命名空间。例如,Access 数据库和 MySQL数据库都是 OLEDB 公开的数据库。

C# 执行 SQL 语句_sql_02  OdbcCommand:用于向 ODBC 公开的数据库发送 SQL 语句,位于 System.Data.Odbc 命名空间。有些数据库如果没有提供相应的连接程序,则可以配置好 ODBC 连接后,使用 OdbcCommand。

C# 执行 SQL 语句_sql_02  OracleCommand:用于向 Oracle 数据库发送 SQL 语句,位于 System.Data.OracleClient 命名空间。


 注意

在使用 OracleCommand向 Oracle 数据库发送SQL语句时,要引入 System.Data.OracleClient 命名空间。但是默认情况下没有该命名空间,此时,需要将程序集 System.Data.OracleClient 引入到项目中。引入程序集的方法是在项目名称上单击鼠林右键,在弹出的快捷莱单中选择“添加引用”命令,打开“添加引用”对话枢,在该对话框中选择 System.Data.OracleClient 程序集,单去“确定”按但,即可将其悉加到项目中。

02  设置数据源类型



Command 对象有 3 个重要的属性,分别是 Connection、CommandText 和 CommandType。Connection属性用于设置SqlCommand 使用的 SqlConnection。CommandText 属性用于设置要对数据源执行的SQL语句或存储过程。CommandType 属性用于设置指定 CommandText 的类型。ComnmandType 属性的值是 CommandType 枚举值,CommandType 枚举有 3 个枚举成员,分别介绍如下。

C# 执行 SQL 语句_sql_02   StoredProcedure:存储过程的名称。

C# 执行 SQL 语句_sql_02   TableDirect:表的名称。

C# 执行 SQL 语句_sql_02   Text:SQL 文本命令。

如果要设置数据源的类型,则可以通过设置 CommandType 属性来实现。下面通过实例演示如何使用 Command 对象的这3个属性,以及如何设置数据源类型。



例1



创建一个 Windows 应用程序,向窗体中添加一个 Button 控件、一个 TextBox 控件和一个 Label 控件,分别用于执行 SQL语句、输入要查询的数据表名称以及显示数据表中数据的数量。在Button 控件的 Click 事件中设置 Command 对象的 Connection 属性、CommandText 属性和 CommandType属性。

代码如下:

SqlConnection conn;                                       //声明一个 SqlConnection 变量 
private void Form1_Load(object sender,EventArgs e) 
{
     //实例化 SqlConnection变量conn 
     conn = new SqlConnection("server=.;database=db_15;uid=sa;pwd=");
     conn.Open(); //打开连接
}
private void button1_Cick(object sender,EventArgs e) 
{
     try //调用 try...catch 语句
{
//判断是否打开连接或者文本框不为空
          if(conn.State == ConnectionState.Open || textBox1.Text !="")
          {
               SglCommand cmd = new SqlCommand();  //创建一个 SqlCommand 对象 
cmd.Connection = conn; //设置 Connection 属性
               //设置 CommandText 属性,以及 SQL 语句
               cmd.CommandText ="select count(*) from"+ textBox1.Text.Trim();
               //设置 CommandType 属性为 Text,使其只执行 SQL 语句文本形式 
               cmd.CommandType= CommandType.Text;
//使用 ExecuteScalar 方法获取指定数据表中的数据数量
               int i= Convert.ToInt32(cmd.ExecuteScalar());
               label2.Text="数据表中共有:"+i.ToString()+"条数据";
           }
      }
catch(Exception ex)
{
          MessageBox.Show(ex.Message);
      }
}


程序的运行结果如图1 所示。

C# 执行 SQL 语句_sql_09

                        图1  SqlCommand 对象执行查询语句



  1.  ​




C# 执行 SQL 语句_数据库_10Love life,love yourself