如果樓主熟悉VB6,可以直接在項目中添加ADODB的Com引用,這樣你就可以像VB6那樣操作數據庫了!
成都創新互聯公司歡迎聯系:13518219792,為您提供成都網站建設網頁設計及定制高端網站建設服務,成都創新互聯公司網頁制作領域十多年,包括成都iso認證等多個領域擁有多年的網站制作經驗,選擇成都創新互聯公司,為企業錦上添花。
另外
.NET Framework中連接數據庫要用到ADO.NET。如果要操作Access數據庫,要用到System.Data.OleDb命名空間下的許多類。
比如按樓主所說,“我想在textbox1中顯示表一中【一些數據】字段下的第一個內容”:
'首先導入命名空間
Imports System.Data
Imports System.Data.OleDb
'然后在某一個事件處理程序中寫:
Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=數據庫.accdb;Jet OLEDB:Database Password=MyDbPassword")
Dim command As New OleDbCommand("Select * From 數據表", conn)
conn.Open() '打開數據庫連接
Dim reader As OleDbDataReader = command.ExecuteReader() '執行SQL語句,返回OleDbDataReader 對象
Do While reader.Read() '讀取一條數據
textbox1.Text += reader("一些數據") VbCrLf
Loop
reader.Close() '關閉OleDbDataReader
conn.Close() '關閉連接
首先你用set datagrid.datasource=rs,與數據庫你需要添加數據的表綁定,然后直接在datagrid上添加空白行,然后再行對添加對應數據就Ok了,直接寫數進數據庫
textbox同步顯示,只要將數據庫表的某列數據綁定這個文本框就可以實現,其他控件也是一樣的。至于打印你用水晶報表就行了,挺簡單的
這個是VS.NET為了在開發時保護數據庫源文件而做的,可能真的有這樣的方法使這兩個數據庫同步更新,但就我所知的可以專門寫代碼實現數據庫同步更新。但比起你的考試題目來可就復雜多了。
其實你可以直接將數據庫文件放在你項目文件下的\bin\Debug\里邊,連接數據庫時直接選擇這個數據庫,彈出是否復制數據庫文件到輸出目錄時選擇“否”,你的數據庫連接路徑就是你的程序可執行文件的目錄,因為編譯出的可執行文件也放在\bin\Debug\里邊。不管把項目拷貝到哪里,可執行文件和數據庫文件的相對路徑都是一樣的。
如果你要打包程序則直接把數據庫一起打包,只不過把數據庫輸出路徑設置為你程序中的數據庫連接路徑就可以了。
不知道這樣說你明白不?
我們需要引用ADO.具體的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",這里的"*.*"是指的時ADO的版本號,一般來說,應用程序或ActiveX控件都具有向下兼容性,所以我們盡可能選擇比較新的版本.以確保程序在能識別舊版本Access的同時,也能識別較新版本的Access.
然后我們需要在程序中創建一個對象.就好比我們在窗體上添加一個FileBox才能看到文件名一樣,只有創建了ADO對象,我們才能夠訪問數據庫.常用的對象有兩個,Connection和Recordset.
創建這兩個對象的具體方法是:
1.在引用后,使用New關鍵字,如
Private Conn As New ADODB.Connection
Private Reco As New ADODB.Recordset
2.在沒引用時,用CreateObject創建對象:
Dim Conn,Reco
Set Conn = CreateObject("ADODB.Connection")
Set Reco = CreateObject("ADODB.Recordset")
創建了對象之后,下一步我們要做的就是打開數據庫了.
先看下面的代碼,可以成功的打開數據庫.
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb"
這句代碼打開了D盤中的Main.mdb這個數據庫.
Connection.Open方法的第一個參數是連接代碼,它將傳遞給系統的數據庫引擎.前半部分"Provider= Microsoft.Jet.OLEDB.4.0",它表示了數據庫的類型.不同的數據庫可能會不同.后半句"Source=d:\main.mdb"它表示了數據庫所在的絕對路徑.
打開數據庫之后,還要打開表.假如數據庫中有一個表,表名為"Users",字段有兩個,一個為用戶名,一個為密碼.那么看以下代碼.
1.想返回"Users"中,[用戶名]為"去年煙花"的[密碼]
Recordset.open "Select 密碼 From Users Where 用戶名='去年煙花'",Connection,1,1
之后我們就可以把用戶輸入的密碼進行比較,看是否允許登錄.
If Recordset.eof and Recordset.bof then
Msgbox "用戶不存在!",16
Else
If PassWord =Recordset("密碼").value then
msgbox "登錄成功!",64
Else
msgbox "密碼錯誤!",32
End If
End If
Recordset.Close
2.假設Admin已經成功登錄系統,我們想把所有的用戶名和密碼都顯示出來
Recordset.open "Select * From Users",Connection,1,1
這時,表已經被打開,我們就用以下代碼把它顯示出來.
Do whlie Not Recordset.eof
Print "用戶名: " Recordset("用戶名").value "密碼: " Recordset("密碼").value
Recordset.MoveNext
Loop
Recordset.Close
由以上代碼示例可以看出,打開表時,可以只打開其中的一個字段,也可以打開所有.第一個參數是SQL語句.
Select [字段名] From 表名 [Where 條件]
這里的條件可以省略.且字段名也可以用"*"來代替所有字段.
需要注意的是,如果你用(1)中的方法打開,那么(2)后面顯示的代碼就不能再用在(1)中.因為(1)里并沒有打開[用戶名]字段,所以這一句Recordset("密碼")就沒有值存在,還有可能出錯.
后面的條件,可以用"="、""、""等運算符.比如 "Where ID 32".(這里假設[ID]為數字型.)
這是打開的部分.第二個很重要的部分就是查詢記錄.
數據庫它并不是把所有記錄全部放到一個變量中備用的.而是以"當前記錄"的形式來返回一個值.所以我們想從中找到有用的信息,就必須要對信息進行定位/篩選.
定位:
移動到下一條 Recordset.MoveNext
移動到上一條 Recordset.MovePrevious
移動到最后一條 Recordset.MoveLast
移動到第一條 Recordset.MoveFrist
移動到某一條 Recordset.Move Number
篩選:
Recordset.Find "條件"
如:[用方法(2)打開表之后]
Private Sub Command1_Click()
Recordset.Find "用戶名=" "text1.text"
If Recordset.Eof True Then
Msgbox "該用戶的密碼是:" Recordset("密碼").value,64
Else
Msgbox "未找到該用戶的資料!",16
End If
End Sub
MoveNext 只有當Eof不為True時,才可用,否則發生錯誤.而MovePrevious剛是Bof不為True時....
而只要Eof 和 Bof中有一個不為真時,也就是說只要有一條記錄時,它就可以使用.
Find 方法中的條件和Open時的第一個參數中的條件表述方法是完全一致的.當在已打開的記錄集中,找不到該記錄時,Eof為True.找到則當前的值就是符合條件的記錄.
第三個部分就是添加/修改記錄.
修改記錄很簡單,先按以上的方法找到相關記錄之后,給記錄賦值就可以了.
比如:[(修改密碼)按方法(1)打開表之后]
Recordset("密碼").value = "123456"
Recordset.Updata
需要注意的就是,在修改完成后,要調用Updata方法,這樣修改才能生效.
而添加記錄則可以用以下代碼來實現:
Recordset.addnew
Recordset("用戶名").value = "Admin"
Recordset("密碼").value = "Admin"
Recordset.Updata
這里,先要調用Addnew方法,增加一條新記錄,然后對這個新記錄中的各字段賦值,最后再調用Updata方法.
到這里就差不多了,最后說一下上面提到的幾個方法.
Recordset.Open SQL語句,數據源,游標類型,打開方法
SQL語句不用說了,就是Select那啥的,目的就是按要求從表中返回數據
數據源就是一個打開之后的Connection對象.
去他媽的游標類型,填1就可以了 [偷笑ing]
打開方法對應了幾個常數,具體哪幾個可以從對象瀏覽器里看.
對應數值的意義:
1 只讀 2 獨占 3 可寫 4 自已可寫,別人可讀
Connection.open 連接代碼,服務器用戶名,密碼
這里的連接代碼就不在多說了,服務器用戶名,密碼只有在連接遠程數據庫時才用到.
你這是向sql后臺數據庫寫數據嗎?
sqldataadapter1.update 改須指定有效的updatecommand,我一直沒有看到
給你個例子你看吧:
'首先指定有效的UpdateCommand
sqlstr = "insert into Playlist(PlayName,PlayPath)values('" TextBox4.Text.Trim "','" TextBox5.Text.Trim "')"
Module1.Mycommand.CommandText = sqlstr
'增加新一行(此行必須,要不不能與后臺同步,并且后面調用update會出錯)
Module1.MyDataSet.Tables("Music").Rows.Add()
Module1.MyDataAdaPter.InsertCommand = Module1.Mycommand
Module1.MyDataAdaPter.Update(Module1.MyDataSet, "Music")
MsgBox("增加數據成功!!")
網站名稱:vb.net數據庫同步 vb怎么和數據庫連接
URL鏈接:http://vcdvsql.cn/article22/dosdpjc.html
成都網站建設公司_創新互聯,為您提供自適應網站、品牌網站制作、網站改版、定制網站、品牌網站設計、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯