da.tables(0).rows(0).itme(0)
DataSet也可以理解为DataTable的集合,DataTable我个人认为才是ADO.Net的真正核心,MSDN中也提到了
如此我们可以直接跳过DataSet来直接建立DataTable,代码如下:
DimconnAsNewSqlConnection(ConfigurationManager.ConnectionStrings("mconn").ConnectionString)
DimdaAsNewSqlDataAdapter("select*fromaccount",conn)
DimdtAsNewDataTable("dt")
da.Fill(dt)
response.write(dt.rows(0)(0))
三、数据更改
ADO.Net中提供了较为简单的更改方法,据说效率太低,代码如下:
ds.tables(0).rows(0).item("name")="ssd"&;#39;更新
da.update(ds,"user")&;#39;更新到user表
DimdrAsdatarow
dr=ds.Tables(1).NewRow()&;#39;新建行
dr("name")="feng"&;#39;添加新建数据
ds.Tables(1).Rows.Add(dr)&;#39;应用
da.update(ds,"user")&;#39;更新到user表
ds.Tables(1).Rows(0).delete()&;#39;删除行
da.update(ds,"user")&;#39;更新到user表
PS:为了提高效率和节省内存在使用Fill方法后建议使用Dispose方法来清除da的内容,并不使用该方法更新数据库
当然还有其它的一些方法,非常之繁琐,难道没有像ADO那样简单的一句话更新的方法吗,于是我就找到了如下的方法:
为了方便,和贴近ADO,我将其写成一个函数,至于为什么这样我也没有去深入了解,管他呢,能用就可以了
Functionupdate(str,conn)
DimSqlCommandAsNewSqlCommand(str,conn)
conn.open()
update=SqlCommand.ExecuteNonQuery()
conn.close
EndFunction
update("updateusersetname=&;#39;feng&;#39;",conn)
四、优化读取效率
这部分内容没有详细测试,请参阅本节最后的补充,这里我简单的写了一个分页的类,代码如下:
ClassTable_info
PublicdsAsDataSet=NewDataSet("ds")
PublicConnAsSQLConnection=NewSQLConnection(ConfigurationManager.ConnectionStrings("Conn").ConnectionString)
PublicIndexAsString="id"&;#39;Index索引字段或者叫关键字段
PublicWordAsString="*"&;#39;Word显示字段
PublicTableAsString&;#39;Table显示表
PublicOrderAsString=""&;#39;Order对关键字的排序值为desc和asc
PublicSearchAsString&;#39;Searchwhere后的内容,不包含where
PublicQueryStringAsString="?page="&;#39;QueryString页链接信息
PublicPageInfoAsString&;#39;Pageinfo翻页信息
PublicTableCountAsInteger&;#39;TableCount信息量