真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net操作數(shù)據(jù)庫(kù),VB訪問(wèn)數(shù)據(jù)庫(kù)

vb.net操作數(shù)據(jù)庫(kù)的效率問(wèn)題

select

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到湖南網(wǎng)站設(shè)計(jì)與湖南網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋湖南地區(qū)。

*

from

XXX

如果數(shù)據(jù)量少還可以,如果數(shù)據(jù)量一大,需要從適配器在讀取到Dataset中,這個(gè)是相當(dāng)耗時(shí)的。

其實(shí),有一些程序可以采用

分段讀取,多次讀取。

像這樣的寫法,更新一條數(shù)據(jù),就需要在重新讀取所有的數(shù)據(jù)。。耗費(fèi)太大資源和貸款。。

客戶端也會(huì)導(dǎo)致很慢甚至讀取數(shù)據(jù)假死。。

-----------------------------

最好的方式不管你用DataRead還是什么,這些都根本解決不了這些問(wèn)題。

你需要做的就是

如何高效讀取/處理數(shù)據(jù)。

BS

結(jié)構(gòu),可以采用異步加載數(shù)據(jù)和處理數(shù)據(jù)

CS結(jié)構(gòu)

異步加載和分段讀取數(shù)據(jù)。而不是一下子就把所有數(shù)據(jù)加載處理。這樣的話,CPU和內(nèi)存占用率就會(huì)抬高。。。。

---------------------------------

之前公司采用的方式就是這樣的,DataSet和Fill

后來(lái)發(fā)現(xiàn)不好,于是就采用異步,服務(wù)器壓力減少,客戶端滿意度提高。。

如何用vb.net查詢、添加、刪除、修改數(shù)據(jù)庫(kù)(需要很詳細(xì)的代碼)?

sQueryString是SQL(增刪查改)語(yǔ)句

public

Boolean

ExecSQL(string

sQueryString)

{

SqlConnection

con

=

new

SqlConnection(ConfigurationManager.AppSettings["conStr"]);

con.Open();

SqlCommand

dbCommand

=

new

SqlCommand(sQueryString,

con);

try

{

dbCommand.ExecuteNonQuery();

con.Close();

}

catch

{

con.Close();

return

false;

}

return

true;

}

}

建立一個(gè)類,明自己取,然后調(diào)用就是了

例如:

BC=NEW

類();

STRING

ist="INSERT

INTO

XX(1,2,3)VALUES(A,B,C)";

BC.ExecSQL(ist);

就可以了

vb.net 怎么操作數(shù)據(jù)庫(kù)

如果樓主熟悉VB6,可以直接在項(xiàng)目中添加ADODB的Com引用,這樣你就可以像VB6那樣操作數(shù)據(jù)庫(kù)了!

另外

.NET Framework中連接數(shù)據(jù)庫(kù)要用到ADO.NET。如果要操作Access數(shù)據(jù)庫(kù),要用到System.Data.OleDb命名空間下的許多類。

比如按樓主所說(shuō),“我想在textbox1中顯示表一中【一些數(shù)據(jù)】字段下的第一個(gè)內(nèi)容”:

'首先導(dǎo)入命名空間

Imports System.Data

Imports System.Data.OleDb

'然后在某一個(gè)事件處理程序中寫:

Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=數(shù)據(jù)庫(kù).accdb;Jet OLEDB:Database Password=MyDbPassword")

Dim command As New OleDbCommand("Select * From 數(shù)據(jù)表", conn)

conn.Open() '打開(kāi)數(shù)據(jù)庫(kù)連接

Dim reader As OleDbDataReader = command.ExecuteReader() '執(zhí)行SQL語(yǔ)句,返回OleDbDataReader 對(duì)象

Do While reader.Read() '讀取一條數(shù)據(jù)

textbox1.Text += reader("一些數(shù)據(jù)") VbCrLf

Loop

reader.Close() '關(guān)閉OleDbDataReader

conn.Close() '關(guān)閉連接

vb.net連接數(shù)據(jù)庫(kù)

1、 用The SQL Server .NET Data Provider連接數(shù)據(jù)庫(kù)

The SQL Server .NET Data Provider是利用SqlConnection類來(lái)連接SQL Server7.0或更高版本的數(shù)據(jù)庫(kù),

SqlConnection類位于名稱空間System.Data.SqlClient下。

連接代碼:

Dim sqlConnection1 As SqlClient.SqlConnection

Dim strConnect As String=”data source=服務(wù)器名;initial catalog=數(shù)據(jù)庫(kù)名;user id=sa;password=;”

sqlConnection1=New System.Data.SqlClient.SqlConnection(strConnect)

sqlConnection1.open ‘打開(kāi)數(shù)據(jù)庫(kù)

sqlConnection1.close ‘關(guān)閉連接,釋放資源

2、 用The OLE DB .NET Data Provider連接數(shù)據(jù)庫(kù)

上面已經(jīng)說(shuō)過(guò),利用The OLE DB .NET Data Provider可以訪問(wèn)Access、Oracle和SQL Server等種數(shù)據(jù)

庫(kù),那么,它是怎樣訪問(wèn)這些數(shù)據(jù)庫(kù)的呢?The OLE DB .NET Data Provider是通過(guò)位于名稱空間Sy

stem.Data.OleDb類庫(kù)下的OleDbConnection類來(lái)連接這三種不同類型的數(shù)據(jù)庫(kù)的。下面舉例說(shuō)明:

1)連接SQL Server數(shù)據(jù)庫(kù)

Dim oleDbConnection1 As OleDb.OleDbConnection

Dim strConnect As Sting=”Provider=SQLOLEDB;Persist Security Info=False;Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫(kù)名;User ID=sa;Password=;”

oleDbConnection1=New System.Data.OleDb.OleDbConnection(strConnect)

2)連接Access數(shù)據(jù)庫(kù)

假設(shè)要連接的Access數(shù)據(jù)庫(kù)名為“Example.mdb”,存放在d:\Data\目錄下。

Dim oleDbConnection1 As OleDb.OleDbConnection

Dim strConnect As Sting=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Data\ Example.mdb”

oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)

3)連接Oracle數(shù)據(jù)庫(kù)

Dim oleDbConnection1 As OleDb.OleDbConnection

Dim strConnect As Sting=”Provider=MSDAORA;Data Source=服務(wù)器名;User ID=用戶ID;Password=密碼;”

oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)

3、 用The ODBC .NET Data Provider連接數(shù)據(jù)庫(kù)

The ODBC .NET Data Provider連接數(shù)據(jù)庫(kù)是通過(guò)OdbcConnection類來(lái)實(shí)現(xiàn)的,這個(gè)類位于名稱空間

Microsoft.Data.Odbc下,而名稱空間Microsoft.Data.Odbc是封裝在Microsoft.Data.Odbc.dll文件下的。

由于篇幅有限,這里就只介紹連接Sql Server和Oracle數(shù)據(jù)庫(kù)的方法,其他數(shù)據(jù)庫(kù)的連接方法基本類

似,我就不再多講了。

1)連接Sql Server數(shù)據(jù)庫(kù)

Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection

Dim strConnect As Sting=”Driver={SQL Server};Server=服務(wù)器名;Uid=sa;pwd=;Database= 數(shù)據(jù)庫(kù)名;”

odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)

2)連接Oracle數(shù)據(jù)庫(kù)

Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection

Dim strConnect As Sting=”Driver={Microsoft ODBC for Oracle};Server=服務(wù)器名;Uid=sa;pwd=;”

odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)

四、總結(jié)

通過(guò)本文的介紹,讀者基本掌握了在Visual Basic.NET中用ADO.NET和ODBC.NET連接各種數(shù)據(jù)庫(kù)的方法

。以上三種驅(qū)動(dòng)針對(duì)不同的數(shù)據(jù)庫(kù),它們的性能方面也有很大的不同:The SQL Server .NET Data Provider

的效率最高;The OLE DB .NET Data Provider的效率比較底;The ODBC .NET Data Provider的效率最慢。

具體連接哪一種數(shù)據(jù)庫(kù)選用哪一種數(shù)據(jù)驅(qū)動(dòng)要從工作效率方面來(lái)考慮。

以上回答你滿意么?

vb.net 使用模塊連接數(shù)據(jù)庫(kù)

你說(shuō)這么一大篇全是業(yè)務(wù)邏輯,沒(méi)說(shuō)明你遇到的技術(shù)性問(wèn)題在哪

.net自帶的config文件來(lái)配置連接字符串,比ini好N倍,如果你非要用ini那么自己解決問(wèn)題

檢測(cè)是否能連接用Connection.Open加try catch就可以

vb.net數(shù)據(jù)庫(kù)操作

參考一下下面這段代碼就可以了。

Imports System.Data

'引入數(shù)據(jù)庫(kù)操作類命名空間

Imports System.Data.OleDb

'引入ADO.NET操作命名空間

Public Class FrmModifystInfo

Inherits System.Windows.Forms.Form

Public ADOcmd As OleDbDataAdapter

Public ds As DataSet = New DataSet()

'建立DataSet對(duì)象

Public mytable As Data.DataTable

'建立表單對(duì)象

Public myrow As Data.DataRow

'建立數(shù)據(jù)行對(duì)象

Public rownumber As Integer

'定義一個(gè)整型變量來(lái)存放當(dāng)前行數(shù)

Public SearchSQL As String

Public cmd As OleDbCommandBuilder

'======================================================

#Region " Windows 窗體設(shè)計(jì)器生成的代碼 "

#End Region

'======================================================

Private Sub FrmModifystInfo_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

'窗體的載入

TxtSID.Enabled = False

TxtName.Enabled = False

ComboSex.Enabled = False

TxtBornDate.Enabled = False

TxtClassno.Enabled = False

TxtRuDate.Enabled = False

TxtTel.Enabled = False

TxtAddress.Enabled = False

TxtComment.Enabled = False '設(shè)置信息為只讀

Dim tablename As String = "student_Info "

SearchSQL = "select * from student_Info "

ExecuteSQL(SearchSQL, tablename) '打開(kāi)數(shù)據(jù)庫(kù)

ShowData() '顯示記錄

End Sub

Private Sub ShowData()

'在窗口中的textbox中顯示數(shù)據(jù)

myrow = mytable.Rows.Item(rownumber)

TxtSID.Text = myrow.Item(0).ToString

TxtName.Text = myrow.Item(1).ToString

ComboSex.Text = myrow.Item(2).ToString

TxtBornDate.Text = Format(myrow.Item(3), "yyyy-MM-dd ")

TxtClassno.Text = myrow.Item(4).ToString

TxtTel.Text = myrow.Item(5).ToString

TxtRuDate.Text = Format(CDate(myrow.Item(6)), "yyyy-MM-dd ")

TxtAddress.Text = myrow.Item(7).ToString

TxtComment.Text = myrow.Item(8).ToString

End Sub

Private Sub BtFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtFirst.Click

'指向第一條數(shù)據(jù)

rownumber = 0

ShowData()

End Sub

Private Sub BtPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtPrev.Click

'指向上一條數(shù)據(jù)

BtNext.Enabled = True

rownumber = rownumber - 1

If rownumber 0 Then

rownumber = 0 '如果到達(dá)記錄的首部,行號(hào)設(shè)為零

BtPrev.Enabled = False

End If

ShowData()

End Sub

Private Sub BtNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtNext.Click

'指向上一條數(shù)據(jù)

BtPrev.Enabled = True

rownumber = rownumber + 1

If rownumber mytable.Rows.Count - 1 Then

rownumber = mytable.Rows.Count - 1 '判斷是否到達(dá)最后一條數(shù)據(jù)

BtNext.Enabled = False

End If

ShowData()

End Sub

Private Sub BtLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtLast.Click

'指向最后一條數(shù)據(jù)

rownumber = mytable.Rows.Count - 1

ShowData()

End Sub

Private Sub BtDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtDelete.Click

mytable.Rows.Item(rownumber).Delete() '刪除記錄

If MsgBox( "確定要?jiǎng)h除改記錄嗎? ", MsgBoxStyle.OKCancel + vbExclamation, "警告 ") = MsgBoxResult.OK Then

cmd = New OleDbCommandBuilder(ADOcmd)

'使用自動(dòng)生成的SQL語(yǔ)句

ADOcmd.Update(ds, "student_Info ")

BtNext.PerformClick()

End If

End Sub

Private Sub BtModify_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtModify.Click

TxtSID.Enabled = False '關(guān)鍵字段只讀

TxtName.Enabled = True '可讀寫

ComboSex.Enabled = True

TxtBornDate.Enabled = True

TxtClassno.Enabled = True

TxtRuDate.Enabled = True

TxtTel.Enabled = True

TxtAddress.Enabled = True

TxtComment.Enabled = True

End Sub

Private Sub BtUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtUpdate.Click

If Not Testtxt(TxtName.Text) Then

MsgBox( "請(qǐng)輸入姓名! ", vbOKOnly + vbExclamation, "警告 ")

TxtName.Focus()

Exit Sub

End If

If Not Testtxt(ComboSex.Text) Then

MsgBox( "請(qǐng)選擇性別! ", vbOKOnly + vbExclamation, "警告 ")

ComboSex.Focus()

Exit Sub

End If

If Not Testtxt(TxtClassno.Text) Then

MsgBox( "請(qǐng)選擇班號(hào)! ", vbOKOnly + vbExclamation, "警告 ")

TxtClassno.Focus()

Exit Sub

End If

If Not Testtxt(TxtTel.Text) Then

MsgBox( "請(qǐng)輸入聯(lián)系電話! ", vbOKOnly + vbExclamation, "警告 ")

TxtTel.Focus()

Exit Sub

End If

If Not Testtxt(TxtAddress.Text) Then

MsgBox( "請(qǐng)輸入家庭住址! ", vbOKOnly + vbExclamation, "警告 ")

TxtAddress.Focus()

Exit Sub

End If

If Not IsNumeric(Trim(TxtSID.Text)) Then

MsgBox( "請(qǐng)輸入數(shù)字學(xué)號(hào)! ", vbOKOnly + vbExclamation, "警告 ")

Exit Sub

TxtSID.Focus()

End If

If Not IsDate(TxtBornDate.Text) Then

MsgBox( "出生時(shí)間應(yīng)輸入日期格式(yyyy-mm-dd)! ", vbOKOnly + vbExclamation, "警告 ")

Exit Sub

TxtBornDate.Focus()

End If

If Not IsDate(TxtRuDate.Text) Then

MsgBox( "入校時(shí)間應(yīng)輸入日期格式(yyyy-mm-dd)! ", vbOKOnly + vbExclamation, "警告 ")

TxtRuDate.Focus()

Exit Sub

End If

myrow.Item(0) = Trim(TxtSID.Text)

myrow.Item(1) = Trim(TxtName.Text)

myrow.Item(2) = Trim(ComboSex.Text)

myrow.Item(3) = Trim(TxtBornDate.Text)

myrow.Item(4) = Trim(TxtClassno.Text)

myrow.Item(5) = Trim(TxtTel.Text)

myrow.Item(6) = Trim(TxtRuDate.Text)

myrow.Item(7) = Trim(TxtAddress.Text)

myrow.Item(8) = Trim(TxtComment.Text)

mytable.GetChanges()

cmd = New OleDbCommandBuilder(ADOcmd)

'使用自動(dòng)生成的SQL語(yǔ)句

ADOcmd.Update(ds, "student_Info ")

'對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新

MsgBox( "修改學(xué)籍信息成功! ", vbOKOnly + vbExclamation, "警告 ")

TxtName.Enabled = False

ComboSex.Enabled = False

TxtBornDate.Enabled = False

TxtClassno.Enabled = False

TxtRuDate.Enabled = False

TxtTel.Enabled = False

TxtAddress.Enabled = False

TxtComment.Enabled = False '重新設(shè)置信息為只讀

End Sub

Private Sub BtCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtCancel.Click

TxtSID.Enabled = False

TxtName.Enabled = False

ComboSex.Enabled = False

TxtBornDate.Enabled = False

TxtClassno.Enabled = False

TxtRuDate.Enabled = False

TxtTel.Enabled = False

TxtAddress.Enabled = False

TxtComment.Enabled = False

End Sub

Public Function ExecuteSQL(ByVal SQL As String, ByVal table As String)

Try

'建立ADODataSetCommand對(duì)象

'數(shù)據(jù)庫(kù)查詢函數(shù)

ADOcmd = New OleDbDataAdapter(SQL, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\student.mdb ")

'建立ADODataSetCommand對(duì)象

ADOcmd.Fill(ds, table) '取得表單

mytable = ds.Tables.Item(0) '取得名為table的表

rownumber = 0 '設(shè)置為第一行

myrow = mytable.Rows.Item(rownumber)

'取得第一行數(shù)據(jù)

Catch

MsgBox(Err.Description)

End Try

End Function

End Class

請(qǐng)采納。


文章題目:vb.net操作數(shù)據(jù)庫(kù),VB訪問(wèn)數(shù)據(jù)庫(kù)
文章位置:http://weahome.cn/article/dsesphp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部