GBase 8s ODBC Driver 程序员指南 南大通用数据技术股份有限公司 - 241 - SQLSTATE 错误值 错误消息 24000 -11031 Invalid cursor state S1000 -11060 General error S1001 -11061 Memory- allocation failure S1008 -11065 Operation canceled S1010 -11067 Function-sequence error S1090 -11071 Invalid string or buffer length S1100 -11081 Uniqueness option type out of range S1101 -11082 Accuracy option type out of range S1C00 -11092 Driver not capable S1T00 -11094 Time-out expired S1C00 -11300 SQL_DEFAULT_PARAM not supported 08S01 -11301 A protocol error has been detected. Current connection is closed. S1000 -11310 Create and Drop must be executed within a ServerOnly Connection S1000 -11320 Syntax error S1000 -11323 The statement contained an escape clause not supported by this database driver
获取或设置一个SQL 语句或者存储过程,用于更新数据源中的记录。 语法 [Visual Basic] Public Property UpdateCommand As GBaseCommand
Get
Set
GBase 8a 程序员手册ADO.NET 篇 南大通用数据技术股份有限公司
- 197 - [C#] public GBaseCommand UpdateCommand {get; set;} 注释 在Update 时,如果这个属性没有设置且主键信息没有在DataSet 中,如果 用户设置了SelectCommand 属性并使用GBaseCommandBuilder,那么 UpdateCommand 可以自动生成。而后任何用户没有设置的命令会由 GBaseCommandBuilder 生成,这个生成逻辑需要在DataSet 中有主键信息。 示例 下面的例子中演示如何创建GBaseDataAdapter 对象并设置SelectCommand 和InsertCommand 属性。 [Visual Basic] Public Shared Function CreateCustomerAdapter(conn As GBaseConnection)_ As GBaseDataAdapter Dim da As GBaseDataAdapter = New GBaseDataAdapter() Dim cmd As GBaseCommand Dim parm As GBaseParameter ' Create the SelectCommand. cmd = New GBaseCommand("SELECT * FROM gstable WHERE id=?"_ &"id AND name=?name", conn) cmd.Parameters.Add("?id", GBaseDbType.VarChar, 15) cmd.Parameters.Add("?name", GBaseDbType.VarChar, 15) da.SelectCommand = cmd ' Create the UpdateCommand. cmd = New GBaseCommand("UPDATE gstable SET id=?id, name=?"_ &"name WHERE id=?oldId", conn) cmd.Parameters.Add( "?id", GBaseDbType.VarChar, 15, "id" ) cmd.Parameters.Add( "?name", GBaseDbType.VarChar, 15, "name" ) parm = cmd.Parameters.Add("?oldId", GBaseDbType.VarChar, 15, "id") parm.SourceVersion = DataRowVersion.Original da.UpdateCommand = cmd Return da
GBase 8a 程序员手册ADO.NET 篇
- 198 -
南大通用数据技术股份有限公司 End Function
[C#] public static GBaseDataAdapter CreateCustomerAdapter(GbaseConnection conn) { GBaseDataAdapter da = new GBaseDataAdapter(); GBaseCommand cmd; GBaseParameter parm; // Create the SelectCommand. cmd = new GBaseCommand("SELECT * FROM gstable WHERE id=?id AND name=?name", conn); cmd.Parameters.Add("?id", GBaseDbType.VarChar, 15); cmd.Parameters.Add("?name", GBaseDbType.VarChar, 15); da.SelectCommand = cmd; // Create the UpdateCommand. cmd = new GBaseCommand("UPDATE gstable SET id=?id, name=?name WHERE id=?oldId", conn); cmd.Parameters.Add("?id", GBaseDbType.VarChar, 15, "id" ); cmd.Parameters.Add("?name", GBaseDbType.VarChar, 15, "name" ); parm = cmd.Parameters.Add( "?oldId", GBaseDbType.VarChar, 15, "id" ); parm.SourceVersion = DataRowVersion.Original; da.UpdateCommand = cmd; return da; }