sqlconnection,sqlcommand,sqldataadapter,sqldatareader,dataset

这些分别是干什么的,有什么联系,麻烦具体说一下哈,一定要用自己的话说哦,谢谢... 这些分别是干什么的,有什么联系,麻烦具体说一下哈,一定要用自己的话说哦,谢谢 展开
 我来答
rzsonic
推荐于2016-01-19 · TA获得超过529个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:197万
展开全部
1 上帝说,要连接数据库,于是就有了sqlconnection (数据库连接,配置连接字符串等,用户名密码之类)

2 上帝说,要执行sql语句。于是就有了sqlcommand, 直接翻译成sql命令。每个sqlcommand都有commandtext跟parameters 文本跟参数。填写好这个命令,然后execute去执行。当然,要确保连接是open的才能执行。没连接啥都干不了。

3 上帝认为要有办法读取返回结果,于是便有了datareader.可以一条一条的读取(read)直到最后一条。

4 上帝认为,把执行的结果找个地方存起来是好的。于是就有了dataset。这个东西很完美,基本上能存各种数据跟关系,比datareader方便很多。里面有一个一个的dataview跟datatable.针对你的查询结果,当然,datatable又可以从datarow一个一个的循环取得

5 上帝觉得上述步骤太复杂了 -_-!
于是便有了SqlDataAdapter (翻译为SQL数据适配器,适配器模式) 它来封装简化了上述步骤。你只要new出来一个sqldataadapter,给他填上语句,直接fill到dataset就行了。 这样你什么都有了,只需要两步!

6 微软觉得,可视化的东西是上帝喜欢的(用户==上帝)
于是有了一个一个的SqlAdapter控件,DataSet控件,GridView控件....你可以直接拖到你的窗口(WinForm)或者页面(Asp.Net Web Application等)设置几个属性,绑定即可。一行代码都不用写。以至于普通网管跟文员都能成为潜在用户。(虽然这种方式被“专业程序员”所不齿)

7建议:
如果喜欢效率的,用command+datareader自己处理(要小心别弄得更差哦)
如果喜欢方便的,就大量的使用Adapter+DataSet吧。毕竟绑定太节约时间了
如果就想显示个数据而已...拖吧...反正你就是想给隔壁办公室显示个报表。干嘛想那么多。

希望这种风格你能喜欢
jiaoyouhuisuo
2009-05-20 · 超过10用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:32.6万
展开全部
离线链接
1、SqlDataAdapter a = new SqlDataAdapter();建一个适配器,就像手机从电器要把220伏电压降压后输入你的手机,差不多就这么理解!
2、SqlConnection b = new SqlConnection("server=.;database=你的数据库库名;uid=进入数据库的名字;pwd=计入数据库的密码");建立数据库的链接!!!
3、SqlCommand c=new SqlCommand("数据库语句如:select * from .....等",b);建立查询语句!!!
4、DataSet d=new DataSet();建立在内存当中的模拟数据库;
5、a.SelectCommand=c;在适配器内加入数据库语句;
6、a.Fill(d,"任意给个名字最好是查询的那个数据库的库名");把数据库内的信息导入到内存当中的模拟数据库内;
7、Gridview1.DataSource=d.Tables["上面给的那个任意的名"];把内存当中的数据库连接到gridview控件上!!!
8、Gridview1.DataBind();让gridview控件显示内容;

连线链接
1、SqlConnection a=new SqlConnection(链接字符串以上面一样);以上一样;
2、SqlCommand b=new SqlCommand("数据库语句",a);以上一样;
3、a.Open();打开数据库连接;
4、SqlDataReader c=b.ExecuteReader();建立个读取器读取到从数据库传来的信息;
5、GridView1.DataSource=c;以上一样;
6、GridView1.DataBind();以上一样;
7、a.Close();关闭数据库;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友77f13a9
2009-05-20 · TA获得超过343个赞
知道答主
回答量:280
采纳率:0%
帮助的人:98.7万
展开全部
上帝说咱们还是谈谈世界和平的事吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
futureisfyl
2009-05-20 · TA获得超过436个赞
知道答主
回答量:120
采纳率:0%
帮助的人:84.7万
展开全部
本来想回答的 看到2楼神人 就放弃了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanpuforever
2009-05-20 · TA获得超过371个赞
知道小有建树答主
回答量:600
采纳率:0%
帮助的人:0
展开全部
sqlconnection,是实例化一个数据库连接,你要是想和数据库交互,首先就应该实例化一个连接sqlconnection conn=new sqlconnection(string 连接某个数据库字符串);
sqlcommand,是连接模式,要实现sql的具体查询功能,必须打开conn.open();
当然结束后记得关上conn.close();sql语句就写在commandtext里,是sqlcommand对象cmd的一个属性
sqldataadapter,是非连接模式,他和command很相似,只是不需要数据库的打开conn.open();
sqldatareader,前提是command已经实例化,他是对数据查询结果进行读操作。
dataset结果集赋值给dataset,一般是adp.fill(ds,"表名")

我说的很粗略 你慢慢用就会清楚了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式