當前位置:首頁 » 數據倉庫 » vb怎麼做資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

vb怎麼做資料庫

發布時間: 2022-11-26 18:08:40

⑴ vb中如何製作資料庫文件

如果用vb來建立資料庫的話,用adox對象就可以了,主要用到下面幾個對象:
Dim cat As New ADOX.Catalog '對應資料庫資料庫文件
Dim tb() As New ADOX.Table '資料庫里的表
Dim cl As New ADOX.Column '資料庫里的欄位

不過這種方法比較麻煩,簡單的辦法是用文本文件來存儲(如果你不想讓別人知道你用文本文件存儲的數據,你可以文本文件的後綴名你可以改成dat,tpl,log....)。給你附帶一個比較完整的文本文件讀寫的代碼:
'以下是讀記事本代碼,讀取後的數據存儲在數組hs()中:
Dim i As Long, hs() As String
i = 0
ReDim hs(0)
Open App.Path & "\1.txt" For Input As #1
Do While Not EOF(1)
ReDim Preserve hs(i)
Line Input #1, hs(i)
i = i + 1
Loop
Close #1
'以下是寫記事本代碼:
dim filename as string
filename = "這是第一行" & chr(13) & chr(10) & "這是第二行" & chr(13) & chr(10) & "這是第三行" & chr(13) & chr(10)
Open App.Path & "\2.txt" For Output As #1
Seek #1, 1
Print #1, filename
Close #1

⑵ 用VB做一個資料庫該怎麼做給點思路 或者從哪下手

大致有以下幾步:讀取文件 -- 格式化數據 -- 關閉文件 -- 使用數據如果數據量較大,需要進行篩選,且存放數據的源文件可能不定時變更,那麼我們可以用一個臨時文件來存放有用的數據,這樣可大大提高程序的效率.要 [格式化數據]時,我們首先要進行篩選,然後還得進行分類,這樣文件中的字元串才能被轉換成有用的信息來供程序使用.這樣一來,不用說,處理速度將大大減慢,而且就算你設計的數據格式比較科學,當數據量非常大時,文件的容量也會變的讓普通計算機無法承受. 相對文本文件來說資料庫的使用也大致分為以下幾步:打開資料庫 -- 查找數據 -- 使用數據 -- 關閉資料庫從中可以看出,裡面少了一步格式化數據,因為資料庫本身在存儲數據時,它就是按照一定的格式來進行存儲的. 其次是,資料庫與文本文件返回數據的方法不同.如果把文本文件比作一個Textbox 的話,那麼資料庫更像是一個ListBox.使用文本文件時我們需要從整個Textbox中取出有用的信息,並進行處理,而Listbox則可以根據需要返回特定的某一項.由於VB本身並不帶有可以訪問資料庫的類,所以我們需要引用一個包含能訪問資料庫的類來使用資料庫.這里我們採用ADODB,相比DAO和能訪問資料庫的API來說,它比DAO更靈活,更強大;而比起API,它更簡單易用,更適合初學者.而Access資料庫比起sql,也相對簡單了很多,且能夠滿足中小型應用程序的需要,所以我們在使用資料庫時,選擇了Access.就像使用文本文件來存儲數據一樣,我們需要先設計好數據結構,只不過在設計Access資料庫的結構時,我們需要用到其它的程序來進行詳細的規劃.建議採用的程序是office中的Access或VB自帶的VISDATA.當資料庫設計好了以後,我們可以開始"資料庫編程"了.首先,我們需要引用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.Recordset2.在沒引用時,用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.Close2.假設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 SubMoveNext 只有當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 連接代碼,伺服器用戶名,密碼 這里的連接代碼就不在多說了,伺服器用戶名,密碼只有在連接遠程資料庫時才用到.

⑶ 如何用VB建立資料庫

打開vb6.0
編譯環境
外接程序---可視化數據管理器--文件--新建
這樣就可以建立
常用的各種類型資料庫
新建完
在資料庫窗口~右鍵滑鼠-新建表

⑷ 如何用VB建立資料庫

VB6集成調試環境左邊工具箱內已載入了有關資料庫編程必須的控制項。
然後在FORM1窗體中添加ADODC控制項和DATAGRID控制項,將DATAGRID1的屬性DATASOURCE選ADODC1。
打開ADODC1控制項屬性頁使用連接字元串,選生成。在提供者選項中選MICROSOFT jet 4.0 OLE DB Provider,然後按要求連接資料庫等。在ADODC1控制項屬性頁使用連接字元串空白文本窗口中就有一長串字元串,注意該字元串可復制到程序代碼用於編程。ADODC1控制項屬性頁的數據源內有命令文本(SQL)編寫窗口可編寫SQL查詢語言。該窗口的SQL語句可復制到程序代碼用於編程。

⑸ VB怎麼做資料庫

VB連接資料庫,通常單機的資料庫可以選擇Access,網路上VB連接mssql的也很多。
c你需要學會VB,然後了解資料庫操作,學一下sql語言。然後吧把學的這些串起來,就是你要的了。如果快的話,半個月基本能上手。
祝好運,望採納。

⑹ 如何用vb創建資料庫 求高手

'代碼創建一個Access資料庫和一張表,其中「序號」欄位為自動編號
Private Sub xjdata()
On Error GoTo aaa

Dim cat As New ADOX.Catalog
Dim pstr As String
Dim fm As String
Dim tb1 As ADOX.Table
Dim col As ADOX.Column
Set tb1 = New ADOX.Table
On Error GoTo xjerr
CommonDialog1.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|"
CommonDialog1.FilterIndex = 1
CommonDialog1.InitDir = App.Path
CommonDialog1.Flags = 6
CommonDialog1.FileName = Date & Space(1) & Hour(Now) & Minute(Now)
CommonDialog1.Action = 2
If CommonDialog1.FileName = "" Then
MsgBox "你必須輸入一個資料庫文件名,請重新保存一次!", ""
Else
fm = CommonDialog1.FileName
End If
pstr = "Provider=Microsoft.Jet.OLEDB.4.0;"
pstr = pstr & "Data Source=" & fm
cat.Create pstr
cat.ActiveConnection = pstr
tb1.Name = "sjb"

Set col = New ADOX.Column
col.ParentCatalog = cat
col.Type = ADOX.DataTypeEnum.adInteger ' // 必須先設置欄位類型
col.Name = "序號"
col.Properties("Jet OLEDB:Allow Zero Length").Value = False
col.Properties("AutoIncrement").Value = True
tb1.Columns.Append col, ADOX.DataTypeEnum.adInteger, 0

tb1.Columns.Append "電壓", adSingle
tb1.Columns.Append "電流", adSingle
tb1.Columns.Append "輸入功率", adSingle
tb1.Columns.Append "轉速", adSingle
tb1.Columns.Append "轉矩", adSingle
tb1.Columns.Append "輸出功率", adSingle
tb1.Columns.Append "效率", adSingle
cat.Tables.Append tb1
xjerr:
If err.Number = 32755 Then Exit Sub 『捕捉 取消 的錯誤信息
aaa:
End Sub

⑺ 如何用vb建立一個access資料庫

vb只是一個編程語言,並不能建立資料庫,建立access資料庫要完全在access中進行。
前提條件:必須安裝微軟access資料庫。
步驟:
1、找好要存放資料庫的路徑,如C盤data路徑;
2、路徑下空白處點右鍵,新建-Microsoft
Access資料庫,如圖:
3、這時路徑下就有了一個access文件,可以右鍵-重命名來為資料庫起名,如,起名叫測試資料庫;
4、雙擊access文件,在里邊創建所要的表,函數等等即可。

⑻ 如何用vb建立一個access資料庫

您好,是這樣的:
用VB建立Access資料庫結構

Private Sub Command1_Click()

On Error GoTo Err100

'定義表與欄位
Dim DefDatabase As Database
Dim DefTable As TableDef, DefField As Field

Set DefDatabase = Workspaces(0).OpenDatabase(App.Path & "\vbeden.mdb", 0, False)
Set DefTable = DefDatabase.CreateTableDef("VB編程")

'dbBinary = 9
'dbBoolean = 1
'dbByte = 2
'dbChar=18
'dbDate=8
'dbInteger=3
'dbLong=4
'dbMemo=12
'dbText=10

'建立Name欄位為8個字元型
Set DefField = DefTable.CreateField("Name", dbText, 8)
DefTable.Fields.Append DefField

Set DefField = DefTable.CreateField("Sex", dbText, 2)
DefTable.Fields.Append DefField

'該欄位允許為空
DefField.AllowZeroLength = True
'建立Age欄位為3個的常整型
Set DefField = DefTable.CreateField("Age", dbInteger, 3)
'欄位追加
DefTable.Fields.Append DefField

'表追加
DefDatabase.TableDefs.Append DefTable

MsgBox " 資料庫建立完成!", vbInformation

Exit Sub

Err100:
MsgBox "對不起,不能建立表。請先再建表前建立VBEden資料庫? ", vbCritical

End Sub

Private Sub cmdCreate_Click()

On Error GoTo Err100

'建立名為 VBEDEN 的資料庫
CreateDatabase "VB-CODE", dbLangGeneral

MsgBox "資料庫建立完成! ", vbInformation

Exit Sub

Err100:
MsgBox "不能建立資料庫! " & vbCrLf & vbCrLf & Err.Description, vbInformation

End Sub

建立資料庫後,一般用ADO的技術來實現數據操作是比較好的辦法。引用微軟的ADO組件,裡面兩個對象一個是連接對象用來連接資料庫。另一個記錄集對象可以操作資料庫。詳細的使用請買本書好好看吧,不是幾句話可以說清的。

⑼ 如何在VB中操作資料庫

要查找資料庫信息,關鍵是要解決鏈接資料庫的問題,下面簡述Vb如何SQL資料庫:有兩種方法可以實現,一種是通過ODBC數據源的配置進行連接,一種是通過純代碼編輯進行連接,下面我們就詳細介紹一下這兩種連接方法。ODBC數據源VB連接SQL資料庫一、配置ODBC數據源1、在控制面板中,雙擊管理工具,然後打開ODBC數據源管理器。2、在「系統DSN」選項卡中,單擊「添加」按鈕,打開「創建新數據源」對話框,在「名稱」列表框中選擇「SQLServer」。選好單擊完成3、在打開「建立新的數據源到SQLServer」對話框,在「名稱」文本框輸入新數據源的名稱,描述數據源按你理解的方式來寫(隨意)。「伺服器」就選擇你要連接到的伺服器。4、選擇使用用戶輸入登錄的ID和密碼的SQL驗證。選連接SQL默認設置5、再下一步下一步,完成。測試數據源看連接是否成功就行了。成功後按確定。二、VB中設置連接1、添加部件MircrosoftADODataControl6.0(OLEDB),把部件拖到窗體。2、對ADO部件點右鍵選屬性,選擇使用連接字元串,按生成。3、選擇按下一步4、1)輸入伺服器名稱2)使用指定的伺服器信息3)在伺服器上選擇資料庫這時就選擇你在SQLServer建好的資料庫就行了5、測試連接可以看到連接是否成功!通過代碼VB連接SQL資料庫PublicconnAsNewADODB.ConnectionPublicrsAsNewADODB.(ByValCipAsString)=NewADODB.Connectionconn.ConnectionTimeout=25conn.Provider="sqloledb"conn.Properties("datasource").Value=Cip'伺服器的名字conn.Properties("initialcatalog").Value="zqoa"'庫名'conn.Properties("integratedsecurity").Value="SSPI"'登陸類型conn.Properties("userid").Value="sa"conn.Properties("password").Value="sa"conn.OpenOpenCn=TrueaddFlag=TrueExitFunctionstrerrmag:mag="Datacan'tconnect"CallMsgBox(mag,vbOKOnly,"Error:Dataconnect")addFlag=()OnErrorResumeNextIfconn.StateadStateClosedThenconn.CloseSetconn=(ByValstrsqlAsString)AsBoolean'連接資料庫記錄集=NewADODB.RecordsetIfaddFlag=FalseThenrpy=TrueWithrs.ActiveConnection=conn.CursorLocation=adUseClient.CursorType=adOpenKeyset.LockType=adLockOptimistic.OpenstrsqlEndWithaddFlag=TrueopenRs=TrueEnd'ExitFunctionstrerrmag:mag="datanotconnect"CallMsgBox(mag,vbOKOnly,"error:connect")openRs=FalseEnd'()OnErrorResumeNextIfrs.StateadStateClosedThenrs.CloneSetrs=NothingEndSub

⑽ 如何用VB建立資料庫

但即便如此,資料庫應用程序的開發仍然算得上是VB編程中的難點,這是因為你不僅要熟悉VB中關於資料庫編程方面的知識(當然這是十分簡單的)還要了解資料庫的知識。所以我們先介紹一下資料庫的基本知識,算是學習資料庫編程前的熱身運動吧! 一、熱身運動 首先需要聲明是,我們這里介紹的資料庫知識都是指的關系資料庫。所謂關系資料庫就是將數據表示為表的集合,通過建立簡單表之間的關系來定義結構的一種資料庫。 不管表在資料庫文件中的物理存儲方式如何,它都可以看作一組行和列,與電子表格的行和列類似。在關系資料庫中,行被稱為記錄,而列則被稱為欄位。下面是一個客戶表的例子。 表1 客戶表 客戶號 姓名 地址 城市 街道 郵編 1723 Doe John 1234 Ffth Avenue New York NY 1004 3391 Smith Mary 9876 Myrtle Lavee Bosten MA 6078 3765 Blasel Mortimer 2296j River Road peoria IL 7011 此表中每一行是一個記錄,它包含了特定客戶的所有信息,而每個記錄則包含了相同類型和數量的欄位:客戶號、姓名等等。 表 是一種按行與列排列的相關信息的邏輯組,類似於工作單表。 欄位 資料庫表中的每一列稱作一個欄位。表是由其包含的各種欄位定義的,每個欄位描述了它所含有的數據。創建一個資料庫時,須為每個欄位分配一個數據類型、最大長度和其它屬性。欄位可包含各種字元、數字甚至圖形。 記錄 各個客戶有關的信息存放在表的行,被稱為記錄。一般來說,資料庫表創建時任意兩個記錄都不能相同。 鍵 鍵就是表中的某個欄位(或多個欄位),它(們)為快速檢索而被索引。鍵可以是唯一的,也可以是非唯一的,取決於它(們)是否允許重復。唯一鍵可以指定為主鍵,用來唯一標識表的每行。例如,在前面的例子中,客戶標識號 (客戶號) 是表的主鍵,因為客戶號唯一地標識了一個客戶。 關系 資料庫可以由多個表組成,表與表之間可以以不同的方式相互關聯。例如,客戶資料庫還可以有一個包含某個客戶的所有定單的表。它只用「客戶號」欄位來引用該定單的客戶,而不在定單表中的每項重復所有客戶信息,如下表所示: 表2 定貨表 定貨 客戶號 日期 內容 數量 14764 3391 2/23/94 27 $22.95 14932 3391 3/17/94 46 $9.57 15108 8765 2/15/96 27 $22.95 在這個表中,客戶號欄位引用了客戶表中的 客戶號欄位,從而把定單和客戶聯系起來了。可以看到,客戶 3391 (Mary Smith) 在 94 年 2 月 23 日訂購了 27 項,在 94 年 3 月 17 日訂購了 46 項。用來建立關系的鍵叫做外部鍵,因為它與「外部」表(客戶表)的主鍵關聯。 一對多和多對多關系 上表中的關系類型叫做一對多關系,因為一個客戶可以發出多個定單,而某個特定的定單只能是一個客戶所發。也可以建立多對多的關系。例如,列出所有可以銷售的項(存貨)的盤存表: 表3 盤存表 內容 描述 供應商 費用 盤存 27 Straw Hat Garden Supply Co. $14.00 50 46 Garden gloves Garden Supply Co. $4.50 75 102 hanging floral instries $6.00 137 從盤存表中,可以看到在客戶和存貨項之間存在多對多的關系。也就是說,一個客戶可以訂購多個存貨項,而一個存貨項又能夠被多個客戶訂購。多對多關系是通過兩個獨立的一對多關系來定義的,公共的「多」表包含了兩個其它表的外部鍵。在該例中,定貨s 表與 盤存 表(通過 「內容」)與 Customer 表(通過 客戶號)都相關聯。