ODBC事务控制

摘录自:http://www.wangchao.net.cn/bbsdetail_729480.html

下列示例代码段将说明如何使用 ODBC .NET Data Provider 访问 Cloudscape/Derby 数据库。后面的下载部分提供了完整的 C# 示例。要编译完整的 C# 示例代码,需要安装 .NET Framework v1.1 SDK 并使用 C# 编译器 csc.exe。例如,下列代码将编译一个名为 Sample1.cs 的 C# 源文件,并创建一个名为Sample1.exe 的控制台应用程序: csc /target:exe Sample1.cs
清单 1 将展示如何使用“abc”作为用户 ID 和口令,建立与名为“SAMPLEDB”的数据库的连接。
清单1:建立连接
String connString = "DSN=SAMPLEDB;UID=abc;PWD=abc;";
// where datasource name is SAMPLEDB
OdbcConnection conn = new OdbcConnection(connString);
conn.Open();

清单 2 将显示如何启动、执行和提交事务。
清单 2:执行语句和使用事务
// conn is an OdbcConnection instance
OdbcCommand cmd = conn.CreateCommand();
OdbcTransaction trans = conn.BeginTransaction(); // start a transaction
cmd.Transaction = trans;
cmd.CommandText = "UPDATE staff " + " SET salary = (SELECT MIN(salary) " +
" FROM staff " + " WHERE id >= 310) " + " WHERE id = 310";
cmd.ExecuteNonQuery(); // execute the statement
trans.Commit(); // commit the transaction

清单 3 将显示如何调用存储过程。
清单 3:执行存储过程
// conn is an OdbcConnection instance
OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "CALL IN_PARAM(?)";
// Register input parameter for the OdbcCommand
cmd.Parameters.Add(new OdbcParameter("@p1", OdbcType.Int));
cmd.Parameters[0].Value = 100;
// Call the stored procedure
cmd.ExecuteNonQuery();
清单 4 读取查询结果。
清单 4:读取 ResultSet
// conn is an OdbcConnection instance
OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT sid, name FROM staff WHERE sid > 100";
OdbcDataReader reader = cmd.ExecuteReader();
Int32 sid = 0;
String name = "";
// Output the results of the query
while(reader.Read()) {
sid = reader.GetInt32(0); // first column
name = reader.GetString(1); // second column
Console.WriteLine(" " + sid + " " + name);
}
reader.Close();

posted @ 2009-09-03 15:38  济阳补丁  阅读(857)  评论(0编辑  收藏  举报