天天看点

sqlconnection,sqlcommand,sqldataadapter,sqldatareader,dataset

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吧。毕竟绑定太节约时间了
如果就想显示个数据而已...拖吧...反正你就是想给隔壁办公室显示个报表。干嘛想那么多。      
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,"表名")
       
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();关闭数据库;