在C#中怎么把SQL数据库中查询的结果以表格的形式显示到Windows窗体上,我添加了一个DataGridView控件,

还没想明白怎么实现。
查询条件:select Gno as 编号,Gname as 名称, Gprice as 单价,Squa as 库存量,Stop as 最大量,Sbase as 最小量 from stor_goods,goods_info where SGno=Gno and SCno=101
怎么把这个条件写到那个控件的函数里面去实现呢?


首先最下面的FrmMain_Load(...)是载入窗体时的初始化
先new一个publicclass()对象
接下来调用此对象的GetDataSet()方法
来看GetDataSet()方法
新建一个DataSet,用来存放从数据库获得的记录,Dataset可以在关闭数据库连接后使用;
Sqldataadapter,从名字上看适配器的意识,类是我们用的笔记本的交流电适配器,充当一个中间角色,读取数据库中的数据进行一些处理,把它可以存入到dataset中,da.fill()方法就是把数据填充到dataset中,后面的是异常处理,然后关闭必要的连接,把得到的dataset数据返回。
上面的getDataRow()方法跟getdataset差不多他只是返回dataset中的第一个表格的第一行数据,dataset中的数据都是以集的形式存在的,可以看成表。

再回到load()函数,判断dataset中第一个结果集的行数是否大于0,也就相当于里面有没有数据,有的话把它显示到datagridview中

中间还有一个ExecuteSQL()方法,新建一个连接,打开,执行Sqlcommand,
用 cmd.ExecuteNonQuery();但是你写的sql命令式select,返回结果的,要用SqlDataReader read=cmd.ExecuteReader();
然后根据sqldatareader就可以读取里面的信息,这跟上面的采用dataset是另一种方法,根据你的需要选择。

至于根据连接字符串连接数据库的原理,这个是驱动程序的工作,我们无法知道,一种技术,微软不会告诉你的。

至于修改更新,一种方法直接使用update或则delete的sql语句,然后执行ExecuteNonQuery()或则相应的方法,还有一种就是用dataset,首先读入一些数据,形成一张“表 ”记录,你可以直接把它看成是二维数组,把要改的数据赋给n行m列的单元格,如set.table[0].rows[n][m]="xxx";赋值完后还要执行sqlDataadApter实例的update()方法,
!!!!注意在做这些之前还要新建一个SqlCommandBuilder类的实例
如SqlCommandBuilder build=new SqlCommandBuilder(adapter)//以SqlDataAdapter的实例作为参数,这样基本的更新删去就搞定了,希望对你有所帮助,我也正在学习当中...
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-06
学一下.net吧,在.net框架里面程序与数据库进行通信是用ADO.NET
第2个回答  2011-06-06
dataset 绑定
第3个回答  2011-06-06
用dataset吧
相似回答