Vbnet数据库编程.ppt_第1页
Vbnet数据库编程.ppt_第2页
Vbnet数据库编程.ppt_第3页
Vbnet数据库编程.ppt_第4页
Vbnet数据库编程.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

V数据库编程,.net中一般使用来和数据库进行连接,与数据库连接数据库查询使用DataAdapter获取数据处理DataSet对象,与数据库连接,如果是和微软的ACCESS或SQLSERVER连接,使用的CONNECTION是OleDbConnection,这也是最常使用的连接对象需要在VB.NET中引用System.Data,System.Data.OleDb以及System.Data.SqlClientImportsSystem.DataImportsSystem.Data.OledbImportsSystem.Data.sqlclient,创建CONNECTION对象DimcnasoledbconnectionCn=newoledbconnection()连接字符串(告诉connection对象使用什么用户名和密码,连接哪一台计算机上的哪个数据库)连接字符串形式如:provider=sqloledb;datasource=;initialcatalog=pubs;userid=sa;,开放连接Cn.open()关闭连接Cn.close(),.net中默认使用连接池来和数据库连接;而且连接池默认是打开的,所以在调用CLOSE方法时,与数据库的实际连接并没有真正被关闭,而是被传递到池中,以后它就在池中重用如果不想使用连接池Oledbconnectionoledbservices=-4;Sqlconnectionpooling=false;,动态的数据库连接通过给Oledbconnection的connectionstring属性赋不同的值来动态连接数据库在OLEDBCONNECTION提供的属性中database数据库名称Datasource数据库位置State当前状态是打开或关闭,Changedatabase方法Cn.changedatabase(“northwind”)Statechange事件:连接状态改变时需要做的事情,数据库查询,使用command对象执行SQL语句创建command:Dimcmdasnewoledbcommandcmd.connection=mandtext=“select*fromauthors”,执行无返回行的查询Cmd.executenonquery()对于update语句来说,有时会修改某些行的值,有时却不会修改任何行,但是不会发生任何异常Command对象将所影响的行数作为Cmd.executenonquery()的返回值,执行一个有返回集的查询Cmd.executereader返回一个数据集(对象)Dimrdrasoledbdatareader=cmd.executereader(),使用此数据集Rdr.read()第一次使用此方法会移动游标到结果集的第一行,以后每次使用时会自动下移一行.如果数据集已经结束则此方法会返回FALSWhilerdr.read()rdr.read(“customerid”)Endwhile,缺点必须随时用完随时关闭,否则在试图打开第二个datareader,就会出现异常.Datareader会把connection对象锁定数据是只读的游标只能向前,不能后退.如果需要在各个查询结果之间前后移动,则应该使用DATASET优点:速度快,执行返回单值的查询Selectcount(*)fromcustomers使用datareader或着dataset来获取单值是可以的,但是有些大材小用.Command有一专门为此类设计的方法:executescalar,获取第一行第一列的数据,参数化查询Selectorderid,customeridfromorderswherecustomerid=?是参数标记给参数赋值Cmd.parameters.add(“customerid”,oledbtype.wchar,5)Cmd.parameters(0).value=“jcc”,使用DataAdapter获取数据,dataadapter是专门用来处理脱机数据的Dataadapter将查询到的数据放入DATASET中,然后就不需要连接数据库了实际上DATASET就相当于一个小数据库,不过是放在内存中的.Da.fill(dataset),MappingDatatablemapping和datacolumnmappingDimdaasoledbdataadapterDimtblmapasdatatablemappingDimcolmapasdatacolumnmappingTblmap=da.tablemappings.add(“table”,”e”)Colmap=da.columnmappings.add(“lname”,”xing”),根据dataadapter对象的FILL方法分页Da.fill(dataset,0,20,”student”)Da将选中的数据中前20行放在DATASET的student表中,其他的数据丢弃(并不表示从数据库中只找到20行),打开和关闭连接方面是Dataadapter和command之间的区别最大的区别DimcnasoledbconnectionDimdaasdataadapterDimcmdasolecommand如果cn没有打开连接,那么当da要查询数据库时,它会自动打开连接使用完毕后自动关闭;cmd则会返回一个异常.,多次调用FILL方法如果要刷新DATASET中的数据,最简单方法是清空DATASET,然后在调用fill方法.否则数据表中的记录会又一次被放入dataset中了.(原来的数据还在),处理DataSet对象,向dataset中已有的数据表添加数据Dimrowasdatarow=ds.tables(“student”).newrowRow(“name”)=“jichengchao”Row(“telphon”)=“3511045”,修改dataset中已有的数据表Row=ds.tables(“student”).rows.find(“jichengchao”)IfrowisnothingthenelseRow(“name”)=“chenghui”endif,Row.begineditRow(“name”)=“chenghui”Row.endedit可以调用canceledit取消修改,删除数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论