若要使用 SACommand 对象执行插入、更新或删除,请使用 ExecuteNonQuery 函数。ExecuteNonQuery 函数发出一个不返回结果集的查询(SQL 语句或存储过程)。请参见ExecuteNonQuery 方法。
只能对一个表中的数据进行更改(插入、更新或删除)。不能更新基于连接的数据集。必须连接到数据库才能使用 SACommand 对象。
有关获取自动增量主键的主键值的信息,请参见获取主键值。
如果希望设置 SQL 语句的隔离级别,则必须将 SACommand 对象用作 SATransaction 对象的一部分。不使用 SATransaction 对象修改数据时,.NET 数据提供程序在自动提交模式下运行,您所做的任何更改都将立即得到应用。请参见事务处理。
声明并初始化一个 SAConnection 对象。
SAConnection conn = new SAConnection( c_connStr ); conn.Open(); |
打开该连接。
conn.Open(); |
添加一个 SACommand 对象,以定义并执行一条 INSERT 语句。
可将 INSERT、UPDATE 或 DELETE 语句与 ExecuteNonQuery 方法一起使用。
SACommand insertCmd = new SACommand( "INSERT INTO Departments( DepartmentID, DepartmentName ) VALUES( ?, ? )", conn ); |
如果要调用存储过程,必须为该存储过程指定参数。
有关详细信息,请参见使用存储过程和SAParameter 类。
设置 SACommand 对象的参数。
以下代码分别为 DepartmentID 和 DepartmentName 列定义参数。
SAParameter parm = new SAParameter(); parm.SADbType = SADbType.Integer; insertCmd.Parameters.Add( parm ); parm = new SAParameter(); parm.SADbType = SADbType.Char; insertCmd.Parameters.Add( parm ); |
插入新值并调用 ExecuteNonQuery 方法,将更改应用到数据库。
insertCmd.Parameters[0].Value = 600; insertCmd.Parameters[1].Value = "Eastern Sales"; int recordsAffected = insertCmd.ExecuteNonQuery(); insertCmd.Parameters[0].Value = 700; insertCmd.Parameters[1].Value = "Western Sales"; recordsAffected = insertCmd.ExecuteNonQuery(); |
显示结果并将结果绑定到屏幕上的网格中。
SACommand selectCmd = new SACommand( "SELECT * FROM Departments", conn ); SADataReader dr = selectCmd.ExecuteReader(); System.Windows.Forms.DataGrid dataGrid; dataGrid = new System.Windows.Forms.DataGrid(); dataGrid.Location = new Point(10, 10); dataGrid.Size = new Size(275, 200); dataGrid.CaptionText = "iAnywhere SACommand Example"; this.Controls.Add(dataGrid); dataGrid.DataSource = dr; dataGrid.Show(); |
关闭 SADataReader 和 SAConnection 对象。
dr.Close(); conn.Close(); |
声明并初始化一个 SAConnection 对象。
SAConnection conn = new SAConnection( c_connStr ); |
打开该连接。
conn.Open(); |
添加一个 SACommand 对象,以定义并执行一条 UPDATE 语句。
可将 INSERT、UPDATE 或 DELETE 语句与 ExecuteNonQuery 方法一起使用。
SACommand updateCmd = new SACommand( "UPDATE Departments SET DepartmentName = 'Engineering' WHERE DepartmentID=100", conn ); |
如果要调用存储过程,必须为该存储过程指定参数。
有关详细信息,请参见使用存储过程和SAParameter 类。
调用 ExecuteNonQuery 方法,将更改应用到数据库。
int recordsAffected = updateCmd.ExecuteNonQuery(); |
显示结果并将结果绑定到屏幕上的网格中。
SACommand selectCmd = new SACommand( "SELECT * FROM Departments", conn ); SADataReader dr = selectCmd.ExecuteReader(); dataGrid.DataSource = dr; |
关闭 SADataReader 和 SAConnection 对象。
dr.Close(); conn.Close(); |
声明并初始化一个 SAConnection 对象。
SAConnection conn = new SAConnection( c_connStr ); |
打开该连接。
conn.Open(); |
创建一个 SACommand 对象,以定义并执行一条 DELETE 语句。
可将 INSERT、UPDATE 或 DELETE 语句与 ExecuteNonQuery 方法一起使用。
SACommand deleteCmd = new SACommand( "DELETE FROM Departments WHERE ( DepartmentID > 500 )", conn ); |
如果要调用存储过程,必须为该存储过程指定参数。
有关详细信息,请参见使用存储过程和SAParameter 类。
调用 ExecuteNonQuery 方法,将更改应用到数据库。
int recordsAffected = deleteCmd.ExecuteNonQuery(); |
关闭 SAConnection 对象。
conn.Close(); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |