接上回
我们来对比一下游标
[pb]
//连接打开数据库
transaction myconn
myconn = create transaction
myconn.DBMS = "OLE DB"
myconn.LogId = 'sa'
myconn.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='192.168.0.1',PROVIDERSTRING='database=test_db'"
connect using myconn;
//定义变量
string emp_number,emp_name
//定义游标
DECLARE Emp_cur CURSOR FOR
SELECT employee.emp_number, employee.emp_name
FROM employee using myconn;
//打开游标
open Emp_cur;
//开始逐条查询并处理
fatch Emp_cur into :emp_number,:emp_name;
do while myconn.sqlcode = 0
messagebox('',emp_number + " " + emp_name)
fatch Emp_cur into :emp_number,:emp_name;
loop
//关闭游标和数据库连接
close Emp_cur using myconn;
disconnect using myconn;

[c#]
//连接打开数据库
SqlConnection myconn;
myconn = new SqlConnection();
myconn.ConnectionString = "database=test_db;server=192.168.0.1;uid=sa;";
myconn.Open();
//定义变量
string emp_number,emp_name;
//定义游标(c#里面有sqldatareader 对象,可以完成游标的功能,同样查询数据库我们要用sqlcommand 对象)
SqlCommand cmd = new SqlCommand("SELECT employee.emp_number, employee.emp_name
FROM employee",myconn);
SqlDataReader dr ;
//打开游标
dr = cmd.EndExecuteReader();;
//开始逐条查询并处理
while (dr.Read())
{
emp_number = dr["emp_number"].ToString();
emp_name = dr["emp_name"].ToString();
MessageBox.show(emp_number + " " + emp_name);
}
//关闭游标和数据库连接
dr.close();
myconn.close();




浙公网安备 33010602011771号