一个新手对ado.net的理解(顺便推荐一个气氛很好的群)
2013-03-03 21:51
211 查看
这是我的第一篇博文,本人新手,接触.net不足一个月,在一点一点的了解中陌生感已经逐渐消失,对.net有了一点初步的理解,最近在使用ado.net的一些东西,下面说一下我对他的理解,欢迎大家批评指正。
Ado.net是一种数据访问的技术,他多用于访问数据库并处理其中的数据。有两种访问方式,一种是reader,另一种是dataset。Reader访问的特点是在线访问,就是说必须连接数据库的时候才能获取库中数据,一旦连接断开,访问就终止。它的优点是适用于大量数据的处理,但对连接的稳定性要求比较高。Dataset是货物要访问的所有数据,在缓存中处理,也可以说是吧把有的数据下载到电脑里再处理,它的优点就是对连接的稳定性要求比较低,但是只适用于少量数据的处理。Ado.net的全过程是这样的:
1.dataadapter建立数据库与用户之间的桥梁;
2.connection创建一个数据库的连接,就是把链接实例化;
3.command用来处理sql语句;
4.获得数据:datareader或者dataset;
5.处理数据;
上面说的是获得数据的东西,下面说一下我对更新的理解和我的方法。
更新,sql语句是update,我知道的有两种方法,一种是update方法,我是用的datagridview显示操作结果,开始想用update方法更新,但是没有成功,后来有朋友说他们现在都用sql语句批量更新。
就是创建一个rows实例,datarows[i] dr=new datarows();
然后用for循环逐条扫描,逐条更新。比如:
for(i=0;i<datarows.count;i++)
{
Sql=Update xxx set 字段一=xxx,字段二=xxx where 字段三=xxx;
}
大概的思路就是这样的,在实际操作中我还遇到一个问题就是null的问题,在datagridview中,null取到的值是字段n= ,也就是sql语句的内容,但是实际在sql语法中这是非法的,运行无法成功,我用的方法是用append方法,也就是追加字符串。先判断取到的值是不是null,如果是null,就dr.append[“”]
或者dr.append[“null”]
如果不是,就直接dr.append[“,字段n=”];
dr.append[“dr[“字段n”].tostring”];
还有一个问题就是字母,用上面方法取到的字母是CXR,但是sql语法中,字段n=CXR,是非法的,必须是字段n=’CXR’,才行,这时候唯一的处理办法就是把单引号和取到的字符串用+号连起来。
大概就是这样了,所有代码都是盲打的,我还记不准,有错的请大家理解。(PS:向大家推荐一个群,我最迷茫最崩溃的时候进了这个群,173844862
。群里的朋友们都很好,每次提问题都有人解答,很详细,有条件的话还经常在YY语音讲解,他们都是挺靠谱的朋友,很适合做朋友,无论是技术交流还是生活都很不错)
Ado.net是一种数据访问的技术,他多用于访问数据库并处理其中的数据。有两种访问方式,一种是reader,另一种是dataset。Reader访问的特点是在线访问,就是说必须连接数据库的时候才能获取库中数据,一旦连接断开,访问就终止。它的优点是适用于大量数据的处理,但对连接的稳定性要求比较高。Dataset是货物要访问的所有数据,在缓存中处理,也可以说是吧把有的数据下载到电脑里再处理,它的优点就是对连接的稳定性要求比较低,但是只适用于少量数据的处理。Ado.net的全过程是这样的:
1.dataadapter建立数据库与用户之间的桥梁;
2.connection创建一个数据库的连接,就是把链接实例化;
3.command用来处理sql语句;
4.获得数据:datareader或者dataset;
5.处理数据;
上面说的是获得数据的东西,下面说一下我对更新的理解和我的方法。
更新,sql语句是update,我知道的有两种方法,一种是update方法,我是用的datagridview显示操作结果,开始想用update方法更新,但是没有成功,后来有朋友说他们现在都用sql语句批量更新。
就是创建一个rows实例,datarows[i] dr=new datarows();
然后用for循环逐条扫描,逐条更新。比如:
for(i=0;i<datarows.count;i++)
{
Sql=Update xxx set 字段一=xxx,字段二=xxx where 字段三=xxx;
}
大概的思路就是这样的,在实际操作中我还遇到一个问题就是null的问题,在datagridview中,null取到的值是字段n= ,也就是sql语句的内容,但是实际在sql语法中这是非法的,运行无法成功,我用的方法是用append方法,也就是追加字符串。先判断取到的值是不是null,如果是null,就dr.append[“”]
或者dr.append[“null”]
如果不是,就直接dr.append[“,字段n=”];
dr.append[“dr[“字段n”].tostring”];
还有一个问题就是字母,用上面方法取到的字母是CXR,但是sql语法中,字段n=CXR,是非法的,必须是字段n=’CXR’,才行,这时候唯一的处理办法就是把单引号和取到的字符串用+号连起来。
大概就是这样了,所有代码都是盲打的,我还记不准,有错的请大家理解。(PS:向大家推荐一个群,我最迷茫最崩溃的时候进了这个群,173844862
。群里的朋友们都很好,每次提问题都有人解答,很详细,有条件的话还经常在YY语音讲解,他们都是挺靠谱的朋友,很适合做朋友,无论是技术交流还是生活都很不错)
相关文章推荐
- [VB.NET]用dotnetduke做了一个网站,有不少.net资料,推荐一下,顺便散分
- 一个利用ADO.net操作数据库很好的操作封装
- 给新手一个很好的asp.net教程
- 趣味理解ADO.NET对象模型 推荐
- 我是个VB.net的初学者,在这我推荐一个很好的vb.net网站
- ado.net调用存储过程的一个封装类(网上找的不怕只怕自己不去理解)
- 推荐新手一个很好的自学各种软件的网站
- 这样讲解 yield//把一个不是很好理解的概念和一个很常见的实例联系起来,轻松引出概念【再次推荐这个Python教材】
- 推荐几部好看的漫画,顺便安利一个免费漫画app
- [翻译+推荐]你需要知道的:WCF、WF、ADO.NET SyncServices和ClickOnce
- 趣味理解ADO.NET对象模型
- 推荐一个很好的页面Tip组件框架
- 用最通俗易懂的代码帮助新手理解javascript闭包 推荐
- 不被重视的基础,高效地使用ADO.net连接对象 推荐
- 推荐一个Oracle学习网站(适合新手)
- [新手入门]快速学习 ADO.NET Entity Framework系列文章 #3 -- LINQ-to-SQL、EntitySQL、查询产生器方法(Query builder)三种语法
- 五分钟让你全面理解ADO.NET连接池
- ado.net连接sql server 2000数据库一定要连网(连一个路由也可以)的问题
- ADO.NET 2.0 - 如何建立一个 DataView
- 蛙蛙推荐:改进了一个DBAccess类,顺便说说啥是线程安全