一、数据查询
1、datareader只读向前的数据集
dim cn as new sqlclient.sqlconnection
cn.connectionstring = "server=develop;uid=sa;pwd=hz0222;database=crm2004"
cn.open()
dim cmd as new sqlclient.sqlcommand
cmd.connection = cn
dim i as integer
cmd.commandtext = "select * from table1"
dim dr as sqlclient.sqldatareader
dr = cmd.executereader
i = 0
do while dr.read()
fp1.sheets(0).cells(i, 0).text = dr("id")
fp1.sheets(0).cells(i, 1).text = dr("fname")
fp1.sheets(0).cells(i, 2).text = dr("fage")
fp1.sheets(0).cells(i, 3).text = dr("fadd")
i += 1
loop
在这个例子中,首先申明一个sqlconnection对象,用它来连接sql server数据库,然后再申请一个sqlcommand对象,用它来执行一个sql查询语句,最后申明一个sqldatareader,用它来存放由sqlcommand对象的executereader方法返回的数据集
用datareader听说很快,我没有做过测试,但网上面说得有任有据的,我也就用来查询数据了。上面的这个例子是用来查询一个表中所有的数据,并把它们放到一个数据控件中去,用的是vb的代码,c#大至差不多
2、dataset数据集
dataset可以管理多个记得集:datatable,也就是ado的recordset对象,请看下面这个例子:
绑定数据
private sub binddata()
申请一个连接串对象
dim cn as new sqlclient.sqlconnection
初始化连接串
cn.connectionstring = "server=localhost;uid=sa;pwd=hz0222;database=crm2004"
打开连接串
cn.open()
申明一个数据适配器
dim da as new sqlclient.sqldataadapter("select * from t_cst_info", cn)
申明一个数据集(可以包含表)
dim ds as new dataset
填充数据表
da.fill(ds, "t_cst_info")
ds.tables(0).tablename = "客户档案表"
da.selectcommand = new sqlclient.sqlcommand("select * from t_base_zygl", cn)
da.fill(ds, "t_base_zygl")
ds.tables(1).tablename = "职员档案表"
da.selectcommand = new sqlclient.sqlcommand("select * from t_base_bmqk", cn)
da.fill(ds, "t_base_bmqk")
ds.tables(2).tablename = "部门情况表"
绑定到datagrid
me.datagrid1.datasource = ds
end sub
这个代码和上面的差不多,只是用了sqldataadapter来代替了sqlcommand执行sql查询,sqldataadapter用微软件的话说是“数据适配器”,我现在知道的功能就是用执行sql查询,并填充到dataset或datatable对象中去。上面的例子中我们填充了三个datatable.
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


