數(shù)據(jù)庫vb.net,數(shù)據(jù)庫索引

vb.net 中如何使用SQL語句查詢數(shù)據(jù)庫中的數(shù)據(jù)

1、首先打開Visual Studio 2008代碼窗口,添加引用。

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴(kuò)展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯(lián)公司面向各種領(lǐng)域:混凝土攪拌罐車網(wǎng)站設(shè)計營銷型網(wǎng)站建設(shè)解決方案、網(wǎng)站設(shè)計等建站排名服務(wù)。


2、輸入以下代碼:Public conn1 ?As SqlConnection = New SqlConnection 。

3、聲明關(guān)鍵字 Public;(因為是全局變量,所以用Public 來聲明)。

4、如果SQL 數(shù)據(jù)庫就在本機(jī),則用以下代碼連接。

5、如果代碼太長,影響可讀性,可以用空格加"_"后,回車換行即可。

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

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

Imports System.Data

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

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對象

Public mytable As Data.DataTable

'建立表單對象

Public myrow As Data.DataRow

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

Public rownumber As Integer

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

Public SearchSQL As String

Public cmd As OleDbCommandBuilder

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

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

#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) '打開數(shù)據(jù)庫

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á)記錄的首部,行號設(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( "確定要刪除改記錄嗎? ", MsgBoxStyle.OKCancel + vbExclamation, "警告 ") = MsgBoxResult.OK Then

cmd = New OleDbCommandBuilder(ADOcmd)

'使用自動生成的SQL語句

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( "請輸入姓名! ", vbOKOnly + vbExclamation, "警告 ")

TxtName.Focus()

Exit Sub

End If

If Not Testtxt(ComboSex.Text) Then

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

ComboSex.Focus()

Exit Sub

End If

If Not Testtxt(TxtClassno.Text) Then

MsgBox( "請選擇班號! ", vbOKOnly + vbExclamation, "警告 ")

TxtClassno.Focus()

Exit Sub

End If

If Not Testtxt(TxtTel.Text) Then

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

TxtTel.Focus()

Exit Sub

End If

If Not Testtxt(TxtAddress.Text) Then

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

TxtAddress.Focus()

Exit Sub

End If

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

MsgBox( "請輸入數(shù)字學(xué)號! ", vbOKOnly + vbExclamation, "警告 ")

Exit Sub

TxtSID.Focus()

End If

If Not IsDate(TxtBornDate.Text) Then

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

Exit Sub

TxtBornDate.Focus()

End If

If Not IsDate(TxtRuDate.Text) Then

MsgBox( "入校時間應(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)

'使用自動生成的SQL語句

ADOcmd.Update(ds, "student_Info ")

'對數(shù)據(jù)庫進(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對象

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

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

'建立ADODataSetCommand對象

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

請采納。

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

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

另外

.NET

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

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

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

Imports

System.Data

Imports

System.Data.OleDb

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

Dim

conn

As

New

OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data

Source=數(shù)據(jù)庫.accdb;Jet

OLEDB:Database

Password=MyDbPassword")

Dim

command

As

New

OleDbCommand("Select

*

From

數(shù)據(jù)表",

conn)

conn.Open()

'打開數(shù)據(jù)庫連接

Dim

reader

As

OleDbDataReader

=

command.ExecuteReader()

'執(zhí)行SQL語句,返回OleDbDataReader

對象

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ù)庫

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

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

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

連接代碼:

Dim sqlConnection1 As SqlClient.SqlConnection

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

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

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

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

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

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

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

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

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

Dim oleDbConnection1 As OleDb.OleDbConnection

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

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

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

假設(shè)要連接的Access數(shù)據(jù)庫名為“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ù)庫

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ù)庫

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

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

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

似,我就不再多講了。

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

Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection

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

odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)

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

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é)

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

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

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

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

以上回答你滿意么?

當(dāng)前標(biāo)題:數(shù)據(jù)庫vb.net,數(shù)據(jù)庫索引
網(wǎng)址分享:http://www.muchs.cn/article26/hssecg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站營銷、用戶體驗、企業(yè)網(wǎng)站制作、域名注冊、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管