首頁 資料庫 mysql教程 .NET数据库连接中的对象

.NET数据库连接中的对象

Jun 07, 2016 pm 03:56 PM
.net 學習 物件 資料庫 影片 連接

在学习VB.NET视频时,其中有几个单元讲到了.NET的数据库设计与连接。对于数据库的连接,其实我们并不陌生,原来在做红皮书和机房收费系统的时候,我们都有接触过,可是,在我的印象中,这些关于数据库连接的知识很是模糊。对于数据库连接对象更是一知半解。

在学习VB.NET视频时,其中有几个单元讲到了.NET的数据库设计与连接。对于数据库的连接,其实我们并不陌生,原来在做红皮书和机房收费系统的时候,我们都有接触过,可是,在我的印象中,这些关于数据库连接的知识很是模糊。对于数据库连接对象更是一知半解。

回过头来,翻了一遍红皮书中的几个实例,里面讲到了利用ADO控件来连接数据库,它涉及到的数据库连接对象有7个(connection,command ,recordset,Field,Property,parameter,error)

那么对于如今学习的.net中数据库连接又涉及到了哪些对象呢?

其实,我们不难发现,无论是以前的ADO还是现在的.NET,在数据库连接中都存在两个永远不变的对象connection和command,那么在.net中它们是如何使用的呢?

1.Connection

数据库连接对象,负责连接数据库

具体使用:对于不同的数据提供者(provider)有不同的命名空间,但大体上都是一致的,如下所示以SQLserver为例:

Imports ss=System.Data.SqlClient '声明使用的命名空间

Dim sConn as string,dbConn as ss.SqlConnection
sConn="Server=localhost; Database=Dbname;integrated Security=SSPI" '连接字符串

dbConn=new ss.SqlConnection(sConn) '使用前实例化连接对象
dbConn.Open() '至此,就可以连接上数据库来对数据库中的数据进行操作了
登入後複製

2.Command

数据库命令对象,主要用来执行包括增加,删除,修改及查询等操作命令,也可用来执行预存储程序。

根据数据库提供者类型可将command对象分为四类分别是SqlCommand,OledbCommand,OdbcCommand,OracleCommand.

使用时,只需将它进行实例化即可

Dim ssCmd as ss.SqlCommand

ssCmd=new ss.SqlCommand(strSql,sConn) 'strSql为命令语句如select等,sConn为连接字符接上
登入後複製

当然,除此之外,command对象还有三个常用的方法:

ExecuteNonQuery():返回受影响的行数

ExecteScalar():从数据库中检索单个值,返回结果的第一行第一列

ExecuteReader():执行一个SQL语句,返回一个DataReader对象

谈到DataReader对象,这是什么意思呢?我们来介绍.net中的其余对象

3.DataReader

一个简单的数据集,用于从数据源中检索只读数据集,此对象在检索数据时,只允许只读、顺向方式读取数据,不能返回,同时,此对象可通过command对象中的ExecuteReader()方法从数据源中检索数据来创建。

它的read()方法用来读取下一条记录,若读到数据则返回TRUE,否则返回FALSE

在上述二者的基础上看看它的具体使用:

Dim ssReader as ss.SqlDataReader '和上面的command是一个道理

strSql="select * from Customers order by lastName ASC,firstName ASC;"

ssReader=ExecuteReader()'执行SQL指令

'开始读记录,下面firstName和lastName为两个列名,共组成一条记录,每循环一次,返回一条记录

do while ssReader.Read()

    Fn=System.Convert.ToString(ssReader("firstName"))

    In=System.Convert.ToString(ssReader("lastName"))

    me.listbox1.Items.Add(In,+ Fn)

loop
登入後複製

那么除此之外,在.设计.NET数据访问时,为了能够离线的对数据库进行操作,便将ADO数据连接中的Recordset对象用DataSet代替,来实现离线操作数据库的目的

在ADO中Recordset成为数据集对象,那么在.NET中的数据集对象就是DataSet了!

4.DataSet

通俗一点讲,其实就是一个离线的Recordset,用于离线处理数据,这是因为DataSet提供了一个离线的数据源(通常以表格形式显示),以减轻网络的负担。

\

如图所示,在DataSet的使用过程中,还需要借助于DataAdapter这个对象,那么DataAdapter在这里到底起什么作用呢?

其实,我们如果认真分析,如果DataSet在客户端想要进行离线处理,那么虽然说是自己来充当数据源,但是,如果它不和真正的数据源连接起来,那么最终还是起不到离线处理的效果。于是,我们必须在真正的数据源和DataSet之间建起一座桥梁,来使二者之间能够通信。那么这个桥梁就是DataAdapter,显然二者是不可分割的。我们来具体了解一下DataAdapter这个对象。

5.DataAdapter

.NET中的适配器对象,充当数据源和DataSet之间检索和保存数据的桥梁。那么他是如何实现二者之间的通信的呢?

首先,它通过数据库连接对象(connection)来连接数据源,其次,通过数据库命令对象(command)来使用规定的操作从数据源来检索数据将其送往DataSet,或从DataSet送往数据源。

通过上述介绍,对于DataSet和DataAdapter的具体功能有了一定的了解,那么二者是如何协调配合使用的呢?来看一个小例子:

仍然在上述connection和command部分代码的基础上进行操作:

Dim adapter as ss.SqlDataAdapter

Dim ds as System.Data.DataSet

’通过下面的程式码来讲数据源中的数据传到DataSet中

Sql="select * from Products;"

adapter=new ss.SqlDataAdapter(ssCmd) ’要传输的命令为ssCmd中的命令

ds=new System.Data.DataSet() '实例化dataset

ssConn.Open() '这里的open和close方法可省略,dataset会自动检查连接是否成功

Adapter.Fill(ds)

ssConn.Close()

’可利用下面的程式码来将dataset中的数据提取到listbox中

Ds.Tables("Table").TableName="Products"

Dim row as System.Data.DataRow,name as string

For each row in ds.Table("Products").Rows

       Name=convert.ToString(row.Item("ProductName"))

       Me.listBox1.Items.Add(name)

Next row
登入後複製

以上就是在.net视频中讲到的有关ado.net数据库连接中常用到的对象。通过了解这些对象的基本功能和用法,我们可以对.net数据库连接有更近一步的了解.

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1320
25
PHP教程
1269
29
C# 教程
1249
24
iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 Jul 18, 2024 am 05:48 AM

蘋果公司最新發布的iOS18、iPadOS18以及macOSSequoia系統為Photos應用程式增添了一項重要功能,旨在幫助用戶輕鬆恢復因各種原因遺失或損壞的照片和影片。這項新功能在Photos應用的"工具"部分引入了一個名為"已恢復"的相冊,當用戶設備中存在未納入其照片庫的圖片或影片時,該相冊將自動顯示。 "已恢復"相簿的出現為因資料庫損壞、相機應用未正確保存至照片庫或第三方應用管理照片庫時照片和視頻丟失提供了解決方案。使用者只需簡單幾步

如何在PHP中處理資料庫連線錯誤 如何在PHP中處理資料庫連線錯誤 Jun 05, 2024 pm 02:16 PM

PHP處理資料庫連線報錯,可以使用下列步驟:使用mysqli_connect_errno()取得錯誤代碼。使用mysqli_connect_error()取得錯誤訊息。透過擷取並記錄這些錯誤訊息,可以輕鬆識別並解決資料庫連接問題,確保應用程式的順暢運作。

在PHP中使用MySQLi建立資料庫連線的詳盡教學 在PHP中使用MySQLi建立資料庫連線的詳盡教學 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立資料庫連線:包含MySQLi擴充(require_once)建立連線函數(functionconnect_to_db)呼叫連線函數($conn=connect_to_db())執行查詢($result=$conn->query())關閉連線( $conn->close())

如何在 Golang 中使用資料庫回呼函數? 如何在 Golang 中使用資料庫回呼函數? Jun 03, 2024 pm 02:20 PM

在Golang中使用資料庫回呼函數可以實現:在指定資料庫操作完成後執行自訂程式碼。透過單獨的函數新增自訂行為,無需編寫額外程式碼。回調函數可用於插入、更新、刪除和查詢操作。必須使用sql.Exec、sql.QueryRow或sql.Query函數才能使用回呼函數。

如何在 Golang 中將 JSON 資料保存到資料庫中? 如何在 Golang 中將 JSON 資料保存到資料庫中? Jun 06, 2024 am 11:24 AM

可以透過使用gjson函式庫或json.Unmarshal函數將JSON資料儲存到MySQL資料庫中。 gjson函式庫提供了方便的方法來解析JSON字段,而json.Unmarshal函數需要一個目標類型指標來解組JSON資料。這兩種方法都需要準備SQL語句和執行插入操作來將資料持久化到資料庫中。

iPhone相機在室內燈光下閃爍/閃爍:修復 iPhone相機在室內燈光下閃爍/閃爍:修復 Jun 06, 2024 pm 02:28 PM

您的iPhone相機在室內燈光下閃爍或閃爍太多嗎?您用iPhone拍攝的影片看起來不太好,因為燈光會亮起。您在影片上看到的閃爍是因為刷新率的差異。這是不正常的,有一些方法可以解決這個問題。此修復程序將幫助您解決iPhone影片中的連續閃爍或閃爍效果。修復–更改視訊輸出格式這種現象背後的原因是物體和相機鏡頭的刷新率之間存在明顯差異。通常,如果您使用iPhone錄製螢幕,影片會閃爍或閃爍很多。但是,如果您錄製普通視頻,它不應該閃爍。這種現象主要是因為螢幕的更新率和相機的幀率不匹配。螢幕的刷新率通常

mysql:簡單的概念,用於輕鬆學習 mysql:簡單的概念,用於輕鬆學習 Apr 10, 2025 am 09:29 AM

MySQL是一個開源的關係型數據庫管理系統。 1)創建數據庫和表:使用CREATEDATABASE和CREATETABLE命令。 2)基本操作:INSERT、UPDATE、DELETE和SELECT。 3)高級操作:JOIN、子查詢和事務處理。 4)調試技巧:檢查語法、數據類型和權限。 5)優化建議:使用索引、避免SELECT*和使用事務。

PHP 資料庫連線陷阱:避免常見的錯誤和誤區 PHP 資料庫連線陷阱:避免常見的錯誤和誤區 Jun 05, 2024 pm 10:21 PM

若要避免PHP資料庫連線錯誤,請遵循最佳實務:檢查連線錯誤,變數名稱與憑證相符。使用安全儲存或環境變量,避免硬編碼憑證。使用完後關閉連接,防止SQL注入,使用準備好的語句或綁定參數。

See all articles