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

还没想明白怎么实现。查询条件:selectGnoas编号,Gnameas名称,Gpriceas单价,Squaas库存量,Stopas最大量,Sbaseas最小量froms... 还没想明白怎么实现。
查询条件:select Gno as 编号,Gname as 名称, Gprice as 单价,Squa as 库存量,Stop as 最大量,Sbase as 最小量 from stor_goods,goods_info where SGno=Gno and SCno=101
怎么把这个条件写到那个控件的函数里面去实现呢?
展开
 我来答
kgqg6l6dk
推荐于2016-08-17 · TA获得超过472个赞
知道答主
回答量:587
采纳率:100%
帮助的人:0
展开全部

首先最下面的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的实例作为参数,这样基本的更新删去就搞定了,希望对你有所帮助,我也正在学习当中...
471620539
2011-06-06 · 超过22用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:37.4万
展开全部
学一下.net吧,在.net框架里面程序与数据库进行通信是用ADO.NET
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x5231209932
2011-06-06 · 超过29用户采纳过TA的回答
知道答主
回答量:149
采纳率:0%
帮助的人:74.2万
展开全部
dataset 绑定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
皖江浮云
2011-06-06
知道答主
回答量:69
采纳率:0%
帮助的人:0
展开全部
用dataset吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式