ado創建資料庫
㈠ 怎麼在VC++中用ADO創建資料庫
VC++中使用ADO方式操作ACCESS資料庫2005-12-1209:59來源:天極開發作者:劉濤責任編輯:方舟·yesky評論()ADO(ActiveXDataObject)是Microsoft資料庫應用程序開發的新介面,是建立在OLEDB之上的高層資料庫訪問技術,即使你對OLEDB,COM不了解也能輕松對付ADO,因為它非常簡單易用,甚至比你以往所接觸的ODBCAPI、DAO、RDO都要容易使用,並不失靈活性。本文詳細地介紹在VisualC++開發環境下如何使用ADO來進行資料庫應用程序開發,並給出示例代碼。為了使讀者朋友都能測試本例提供的代碼,我們採用Access資料庫,您可以直接在我們提供的示例代碼中找到這個test。mdb。程序編譯運行後的效果如圖一所示:
圖一、ADO操作ACESS資料庫的界面效果圖
一、實現方法
萬事開頭難,任何一種新技術對於初學者來說最重要的還是"入門",掌握其要點。讓我們來看看ADO資料庫開發的基本流程吧!它的基本步驟如下:
(1)初始化COM庫,引入ADO庫定義文件
(2)用Connection對象連接資料庫
(3)利用建立好的連接,通過Connection、Command對象執行sql命令,或利用Recordset對象取得結果記錄集進行查詢、處理。
(4)使用完畢後關閉連接釋放對象。
下面我們將詳細介紹上述步驟並給出相關代碼。
1、COM庫的初始化
我們可以使用AfxOleInit()來初始化COM庫,這項工作通常在CWinApp::InitInstance()的重載函數中完成,請看如下代碼:
BOOLCADOTest1App::InitInstance()
{
AfxOleInit();
。。。。。。
}
2、用#import指令引入ADO類型庫
為了引入ADO類型庫,需要在項目的stdafx。h文件中加入如下語句:
#import"c:\programfiles\commonfiles\system\ado\msado15。dll"
no_namespacerename("EOF","adoEOF")
這一語句有何作用呢?其最終作用同我們已經十分熟悉的#include類似,編譯的時候系統會為我們生成msado15。tlh,ado15。tli兩個C++頭文件來定義ADO庫。
需要讀者朋友注意的是:您的開發環境中msado15。dll不一定在這個目錄下,請按實際情況修改;在編譯的時候可能會出現如下警告,對此微軟在MSDN中作了說明,並建議我們不要理會這個警告:msado15。tlh(405):warningC4146:,resultstillunsigned。
3、創建Connection對象並連接資料庫
為了首先我們需要添加一個指向Connection對象的指針_ConnectionPtrm_pConnection,下面的代碼演示了如何創建Connection對象實例及如何連接資料庫並進行異常捕捉:
BOOLCADOTest1Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
HRESULThr;
try
{
hr=m_pConnection。CreateInstance("ADODB。Connection");///創建Connection對象
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open("Provider=Microsoft。Jet。OLEDB。4。0;
DataSource=test。mdb","","",adModeUnknown);///連接資料庫
//上面一句中連接字串中的Provider是針對ACCESS2000環境的,對於ACCESS97,
//需要改為:Provider=Microsoft。Jet。OLEDB。3。51;
}
}
catch(_com_errore)///捕捉異常
{
CStringerrormessage;
errormessage。Format("連接資料庫失敗!\r\n錯誤信息:%s",e。ErrorMessage());
AfxMessageBox(errormessage);///顯示錯誤信息
}
在這段代碼中我們是通過Connection對象的Open方法來進行連接資料庫的,下面是該方法的原型:
HRESULTConnection15::Open(_bstr_tConnectionString,_bstr_tUserID,_bstr_tPassword,longOptions);
上述函數中參數ConnectionString為連接字串;參數UserID是用戶名;參數Password是登陸密碼;參數Options是連接選項,用於指定Connection對象對數據的更新許可權,一般情況下Options可以是如下幾個常量:
adModeUnknown:預設。當前的許可權未設置
㈡ vb如何用ado建立Access資料庫
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" + App.Path + "\mydb.mdb;"
cn.Open cnstr
rs.Open "select * from 數據表", cn, adOpenDynamic, adLockOptimistic
====================================
先要有個空的mdb文件做為模板.
用file生成你要的文件,然後用sql再在其中建表以及其中的欄位.
㈢ 關於用ADO操作資料庫
這樣寫就好了,靠,笨(這樣寫有"號是可以的")
cn.execute "insert into b1(f) values ('" & replace(text1.text,"'","''") & "')"
呵呵,replace是替換字元函數,replace("'","")是將'替換個兩個''號
保存日期:
cn.execute "insert into b2(d) values ('" & now() & "')"
㈣ 在使用ADO訪問資料庫之前,我們必須要創建和( )
要創建和資料庫的連接
下面的例子創建了和一個叫「水廠資料庫.mdb」的Access資料庫的連接,並通過SQL查詢語句查詢必要的數據
希望對你有幫助~
Public Con As New ADODB.Connection
Public Rst As New ADODB.Recordset
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\水廠資料庫.mdb" & ";Mode=ReadWrite;Persist Security Info=False"
Rst.Open SQL查詢語句, Con, adOpenStatic, adLockOptimistic
㈤ ADO怎麼連接SQL資料庫請詳細說明。
IDE是Visual Studio 集成開發環境,對象瀏覽器就是給你看看方法的返回值和異常,其他我不是很清楚你想問什麼=創建connection對象就可以生成工程了還是再創建recordset和command對象呢?
㈥ VB+ADO+Access建立資料庫怎麼定義資料庫關系
多表查詢:
sqlstr="select * from 顧客表,銷售表 where 顧客表.ID=銷售表.ID"
錄入數據可以直接輸入到要求的表裡就可以
㈦ 如何正確操作ADO資料庫創建說明
在公司技術人員進行對ADO資料庫操作時,特別是企業級的資料庫應用,就不得不提一個多人操作時經常會產生的問題——並發沖突。本文首先來看一下什麼是並發沖突,傳統的並發沖突有現有的處理方式。
一、要完成本文中的實例,您需要作如下准備:
將Visual Studio 2008及.NET Framework 3.5升級到SP1。點擊轉到升級地址。 安裝SQL SERVER 2005,VS 2008中自帶的EXPRESS版的SQL SERVER應該也可以用。 下載並附加資料庫:點擊下載DemoDbV2。 創建一個VB Console Application,並且取一個合適的名字(例如:Concurrency之類的)。注意,目標Framework要設置成3.5版。
二、什麼是並發沖突
讓我們來看一個跟取款相關的例子:某年某月某日某時某分,ADO資料庫老王在A取款機取錢,他兒子小王同時在B取款機取錢(不要問我為什麼這么巧^_^),他倆從同一個賬號上取。於是就發生了如下一序列的操作:
A取款機向中央資料庫提問:這賬上還有多少錢?
B取款機向中央資料庫詢問:這賬上還有多少錢? 中央資料庫回答A取款機:2W,中央資料庫回答B取款機:2W,然後,ADO資料庫老王對A取款機說:我要取出1.5W。 同時,小王對B取款機說:我要取出1.8W。
A取款機就算了一下,2W-1.5W=0.5W>0,於是就吐出1.5W現金給了老王,並且准備告訴中央資料庫,現在還剩0.5W啦。但是,就在它告訴中央資料庫之前,發生了以下的事情:
B取款機計算了一下,2W(此時,它還不知道余額已經成0.5W了,因為A取款機還沒有告訴中央資料庫)減去1.8W等於0.2W大於0,於是就吐出1.8W現金給了小王。然後,ADO資料庫當然也要知會中央資料庫。
中央資料庫於是收到A取款機的消息,說,這個賬號還剩0.5W,於是刷新余額為0.5W。然後又收到B取款機說還剩0.2W,於是,就刷新余額為0.2W。 呵呵,於是,小王+老王的賬戶里一共存有2W元,結果老王取了1.5W元,小王取了1.8W元,賬戶里卻還剩了0.2W元。
㈧ labview中怎麼用ado創建資料庫
eW;中利用AD0介面訪問資料庫的方法;黎洪生;李超;劉俊剛;(武漢理工大學西院信息學院;450070);摘要較對LabView中的幾種資料庫訪問方法作了;關鍵詞:LabVjew資料庫ADO;SQL;引言;LabView(1aboratoryVinual;engineering;利用其他語言如visualc++編寫DLL程序訪;利用中間文件存取數據,先將數據
eW
中利用AD0介面訪問資料庫的方法
黎洪生
李超
劉俊剛
(武漢理工大學西院信息學院
450070)
摘要較對LabView中的幾種資料庫訪問方法作了一些比較。詳細說明了利用ADO介面訪問資料庫的方法,並利用該方法實現了對實時資料庫的訪問。
關鍵詞:LabVjew資料庫ADO
SQL
1
引言
LabView(1aboratoryVinualinstnlment
engineering
利用其他語言如visualc++編寫DLL程序訪問資料庫,利用LabView所帶的DLL介面訪問該程序,可以實現間接的訪問資料庫。用這種方法實現需要的工作量比較大。
利用中間文件存取數據,先將數據存入文件之中,在一定的時刻或者是需要的時候再將數據導入到資料庫之中。這種方法的實現比較簡單,但是需要單獨的軟體對數據文件導入導出,不能對數據進行實時的存取。
這幾種方法雖然可以實現對資料庫的訪問,但各有缺點,不能滿足監控系統中對實時資料庫訪問的要求。本
文提出的利用ADO介面訪問資料庫的方法則可以較好的
workbench實驗室虛擬儀器工程平台)是美國NI(NationalInstmments)公司標志性的虛擬儀器產品,是一種基於圖形化語言的開發、調試和運行的集成化環境。它主要用於來開發數據採集、儀器控制、測試測量及過程監測和控制等領域的應用程序。它使用圖形語言,即各種圖表,圖形符號、連線等編程,界面非常宦觀形象,相對於傳統的編程方式而言,它不僅簡單易學而且執行的效率也很高。LabView中自帶豐富的函數庫,包括數據採集、數據分析、網路、Activex等集成庫,提供了DLL庫和cIN節點和大量的儀器驅動器、網路VIs與其他外部程序或外部
設備進行連接。它所提供的自動化Activex、DDE、SQL
解決這個問題。
等功能可以很方便的與其他Windows應用程序一起集成用戶的應用程序。
基於LabView的上述特點和功能,在開發某監控系統的工程中筆者選擇了LabView作為開發工具。
3
利用ADO介面訪問資料庫簡介
AD0(ActiveX
Data
0bjects)是Microsoft為最新數據
訪問介面OLEDB設計的應用層介面,它為一致的數據
訪問介面提供了良好的擴展性,不再局限於特定的數據
源。這種特徵使此技術具有非常靈活的訪問特性
㈨ 用ADO怎樣創建一個access資料庫文件
ado不支持創建access資料庫文件,需要使用ADOX擴展類庫。
請參閱下列創建access資料庫的知道回答鏈接:
https://..com/question/1515236857294980780
㈩ 在vb中如何用ado控制項動態地創建資料庫
首先要把Dim cat As New ADOX.Catalog '不用cat用另外一個名字也可以
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim pstr As String '定義該變數是為了後面的書寫方便
放在全局變數定義位置
其次是要刪除Persist Security Info=False;
改後為:
Dim cat As New ADOX.Catalog '不用cat用另外一個名字也可以
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim pstr As String '定義該變數是為了後面的書寫方便
Private Sub Command1_Click() '創建資料庫
Dim fm As String 'fm變數用來獲取用戶輸入的文件名
CommonDialog1.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|"
CommonDialog1.FilterIndex = 1
CommonDialog1.InitDir = "E:\vb例"
CommonDialog1.Flags = 6
CommonDialog1.Action = 2
If CommonDialog1.FileName = "" Then
MsgBox "你必須輸入一個文件名,請重新保存一次!"
Exit Sub
Else
fm = CommonDialog1.FileName
End If
pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" '不能把這里的4.0改為3.51
pstr = pstr & "Data Source=" & fm '& ";Persist Security Info=False" Persist Security Info=False;
cat.Create pstr '創建資料庫
Dim tbl As New Table
cat.ActiveConnection = pstr
tbl.Name = "MyTable" '表的名稱
tbl.Columns.Append "編號", adInteger '表的第一個欄位
tbl.Columns.Append "姓名", adVarWChar, 8 '表的第二個欄位
tbl.Columns.Append "住址", adVarWChar, 50 '表的第三個欄位
cat.Tables.Append tbl '建立數據表
conn.Open pstr
rs.CursorLocation = adUseClient
rs.Open "MyTable", conn, adOpenKeyset, adLockPessimistic
rs.AddNew '往表中添加新記錄
rs.Fields(0).Value = 9801
rs.Fields(1).Value = "孫悟空"
rs.Fields(2).Value = "廣州市花果山"
rs.Update
End Sub
Private Sub Command2_Click() '查詢
Set DataGrid1.DataSource = rs
End Sub
Private Sub Command3_Click() '更新
rs.UpdateBatch
End Sub