guofengchs  

接上回
我们来对比一下游标
[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();

posted on 2006-10-13 18:03  guofeng  阅读(577)  评论(0)    收藏  举报