接触.NET这段时间来,对.NET还是比较看好的,至少他在很多方面做的的确很好。ADO.NET就是做的最出色的了。方便,快捷。DataSet是ADO的核心了,其实程序本身的速度可能都不错的,但是和数据库扯上关系的时间就复杂了。数据库的打开和链接将会耗费大量的时间和资源,而有了这个一切都变得轻松起来了。
今天上午把下个项目的环境配置了一下,可是下午被丁姐喊去处理上个项目遗留的问题,客户需求变更了。要添加一个模块。让我和何一块在两周之内把这块搞定。中间有一块数据的导入,自己可能要做这个了。自己当时说了一句,我尽量努力吧,丁姐给我来句,这可是正式的项目,别尽量,一定要做出来。我当时那个寒啊!是啊,这应该算是自己做的第一个真正和用户接触的项目了,以前做的那两个都是练习的。现在是真刀真枪的开干了。然后就是坐在那里思考自己应该怎么做了。然后就是大家商量大概应该怎么样完成了。
其实功能的实现倒不是主要的问题,主要是效率。他们已经完成了一个类似的模块,但是在大量数据的导入时间,效率太差了。看代码发现主要是他们把数据先读入到数据库中,觉得这样做肯定很慢。打算用DataSet来做这一块。思路就是把数据库中需要比对的数据读入到DataSet中的一个table中,本地导入的数据也导入到一个table中,提取datarow进行比对。这样应该可以节省下来不少时间的,而且实现起来应该也不错的。
DataSet的使用办法其实很简单,但是其中包含太多太多的东西了。在.NET3.0中添加的LINQ会使DataSet更加强大,可是现在只能够使用2.0。痛苦啊。言归正传,DataSet的一般如使用方法如下。
第1步,创建到数据源的连接:
SQLConnection con =new SQLConnection(”server=localhost;uid=sa;pwd=;database=pubs”);
第2步,创建DataSetCommand对象,指定一个存储过程的名字或者一个SQL语句,指定数据链路;
SQLDataSetCommand cmd =new SQLDataSetCommand(”SELECT * FROM Authors”, con);
第3步,创建一个Dataset对象
DataSet ds = new DataSet();
第4步,调用DataSetCommand的FillData方法,为Dataset填充数据。 注意:数据链路没有必要是打开的。如果数据链路是关闭状态,FillData函数会打开它,并在FillData之后关闭数据链路。如果数据链路本来就是打开的,在FillData之后,数据链路依然保持打开状态。
int iRowCount = cmd.FillDataSet(ds, “Authors”);
第5步,操作数据。由于FillData返回了记录的个数,我们可以构造一个循环,来操纵Dataset中的数据。
for(int i=0; i< iRowCount; i++){
DataRow dr = ds.Tables[0].Rows[i];
Console.WriteLine(dr["au_lname"]);
}
———————-
这两周自己应该会过的很充实了。努力吧!尽量这周之内把大致的内容完成,然后测试和修改。

Most Commented