仓酷云 发表于 2015-2-3 23:38:21

ASP网站制作之ADO.NET存取数据库

因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。ado|数据|数据库   以下是本CSDN社区的Michael_Jackson(麦克尔★杰克逊)的贴子(删除C#局部),放这里我想对人人更有效!

可使用 ADO.NET DataReader 从数据库中检索只读、只进的数据流。由于每次在内存中一直只要一行,所以利用 DataReader 可进步使用法式的功能并削减体系开支。

当创立 Command 对象的实例后,可挪用 Command.ExecuteReader 从数据源中检索行,从而创立一个 DataReader,如以下示例所示。


Dim myReader As SqlDataReader = myCommand.ExecuteReader()

利用 DataReader 对象的 Read 办法可从查询了局中获得行。经由过程向 DataReader 传递列的称号或序号援用,可以会见前往行的每列。不外,为了完成最好功能,DataReader 供应了一系列办法,它们将使您可以会见其本机数据类型(GetDateTime、GetDouble、GetGuid、GetInt32 等)模式的列值。有关类型化会见器办法的列表,请参阅 OleDbDataReader 类和 SqlDataReader 类。假如在基本数据类型未知时利用类型化会见器办法,将削减在检索列值时所需的类型转换量。

以下代码示例轮回会见一个 DataReader 对象,并从每一个行中前往两个列。


Do While myReader.Read()
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", myReader.GetInt32(0), myReader.GetString(1))
Loop
myReader.Close()

DataReader 供应未缓冲的数据流,该数据流使进程逻辑可以无效地按按次处置从数据源中前往的了局。因为数据不在内存中缓存,所以在检索大批数据时,DataReader 是一种合适的选择。

封闭 DataReader
每次利用完 DataReader 对象后都应挪用 Close 办法。

假如 Command 包括输入参数或前往值,那末在 DataReader 封闭之前,将没法会见这些输入参数或前往值。

请注重,当 DataReader 翻开时,该 DataReader 将以独有体例利用 Connection。在初始 DataReader 封闭之前,将没法对 Connection 履行任何号令(包含创立另外一个 DataReader)。

多个了局集
假如前往的是多个了局集,DataReader 会供应 NextResult 办法来按按次轮回会见这些了局集,如以下代码示例所示。


Dim myCMD As SqlCommand = New SqlCommand("SELECT CategoryID, CategoryName FROM Categories;" & _
"SELECT EmployeeID, LastName FROM Employees", nwindConn)
nwindConn.Open()

Dim myReader As SqlDataReader = myCMD.ExecuteReader()

Dim fNextResult As Boolean = True
Do Until Not fNextResult
Console.WriteLine(vbTab & myReader.GetName(0) & vbTab & myReader.GetName(1))

Do While myReader.Read()
Console.WriteLine(vbTab & myReader.GetInt32(0) & vbTab & myReader.GetString(1))
Loop

fNextResult = myReader.NextResult()
Loop

myReader.Close()
nwindConn.Close()

从 DataReader 中获得架构信息
当 DataReader 翻开时,可使用 GetSchemaTable 办法检索有关以后了局集的架构信息。GetSchemaTable 将前往一个填充了行和列的 DataTable 对象,这些行和列包括以后了局集的架构信息。关于了局集的每列,DataTable 都将包括一行。架构表行的每列都映照到在了局集中前往的列的属性,个中 ColumnName 是属性的称号,而列的值为属性的值。以下代码示例为 DataReader 写出架构信息。


Dim schemaTable As DataTable = myReader.GetSchemaTable()

Dim myRow As DataRow
Dim myCol As DataColumn

For Each myRow In schemaTable.Rows
For Each myCol In schemaTable.Columns
Console.WriteLine(myCol.ColumnName & " = " & myRow(myCol).ToString())
Next
Console.WriteLine()
Next

OLE DB 章节
分层行集或章节(OLE DB 类型 DBTYPE_HCHAPTER、ADO 类型 adChapter)可使用 OleDbDataReader 来检索。当以 DataReader 的模式前往包括某章节的查询时,该章节将以此 DataReader 中列的模式前往,并公然为 DataReader 对象。

ADO.NET DataSet 也可用于经由过程表间的父子关系来暗示分层行集。有关的更多信息,请参阅创立和利用 DataSet。

以下代码示例利用 MSDataShape 供应法式来为客户列表中的每一个客户生成定单的章节列。


Dim nwindConn As OleDbConnection = New OleDbConnection("Provider=MSDataShape;Data Provider=SQLOLEDB;" & _
"Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind")

Dim custCMD As OleDbCommand = New OleDbCommand("SHAPE {SELECT CustomerID, CompanyName FROM Customers} " & _
" APPEND ({SELECT CustomerID, OrderID FROM Orders} AS CustomerOrders " & _
" RELATE CustomerID TO CustomerID)", nwindConn)
nwindConn.Open()

Dim custReader As OleDbDataReader = custCMD.ExecuteReader()
Dim orderReader As OleDbDataReader

Do While custReader.Read()
Console.WriteLine("Orders for " & custReader.GetString(1)) ' custReader.GetString(1) = CompanyName

orderReader = custReader.GetValue(2) ' custReader.GetValue(2) = Orders chapter as DataReader

Do While orderReader.Read()
Console.WriteLine(vbTab & orderReader.GetInt32(1)) ' orderReader.GetInt32(1) = OrderID
Loop
orderReader.Close()
Loop

custReader.Close()
nwindConn.Close()



</p>asp可以使用微软的activeX 使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般

谁可相欹 发表于 2015-2-4 04:04:37

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

柔情似水 发表于 2015-2-6 15:44:56

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

若天明 发表于 2015-2-7 02:07:25

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

仓酷云 发表于 2015-2-11 07:49:41

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

飘灵儿 发表于 2015-2-24 21:41:29

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

精灵巫婆 发表于 2015-2-27 04:32:36

先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习

活着的死人 发表于 2015-3-5 09:29:54

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

老尸 发表于 2015-3-8 23:20:17

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。

山那边是海 发表于 2015-3-16 17:35:16

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

小魔女 发表于 2015-3-17 22:09:34

先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习

分手快乐 发表于 2015-3-20 13:17:20

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

因胸联盟 发表于 2015-3-20 15:50:15

交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。

爱飞 发表于 2015-3-24 15:34:45

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

灵魂腐蚀 发表于 2015-4-3 02:49:12

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

若相依 发表于 2015-4-6 07:35:50

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

冷月葬花魂 发表于 2015-4-15 22:17:52

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

金色的骷髅 发表于 2015-4-21 05:31:26

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

莫相离 发表于 2015-4-21 21:12:09

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

小妖女 发表于 2015-5-6 02:12:13

ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
页: [1]
查看完整版本: ASP网站制作之ADO.NET存取数据库