啟動VB6.0,新建一個工程,在菜單-工程-引用里選"Microsoft ActiveX Data Objects 2.0 Library",代碼里需要有
dim conn As New ADODB.Connection
定義ADO資料庫對象
conn.ConnectionString = "driver={SQL Server};" & _
"server=" & ServerName & ";uid=" & UserName & ";
pwd=" & Password & ";database=" & DatabaseName & ""
連接數據串
conn.open 連接資料庫
註:ServerName為伺服器名;UserName為用戶名;Password為用戶口令; DatabaseName要登錄的資料庫名,可以為空。
核心代碼如下:
一、建立資料庫
原理:建立資料庫先要初始化一個資料庫設備,然後在此設備上建立資料庫。所有的設備名在系統表"sysdevices"里有記錄,所有的資料庫名在系統表"sysdatabases"里有記錄。在建立之前,最好先查詢這兩個系統表,看名稱是否已經存在。在建立設備之前,還需要的一個物理名和空閑的設備標識號。
初始化設備語法:
DISK INIT NAME="device_name",PHYNAME=
"physical_name",VDEVNO=device_number,
SIZE=numberofblock
說明:這里,NAME是資料庫設備名(一個有效的標識符),PHYNAME(資料庫設備的物理名)是原始的磁碟分區UNIX或外設(vms)名,或者是操作系統的文件名。VDEVNO時資料庫的設備標識號,合法值為1-255,SIZE的單位是2KB的塊,例如1MB(1024KB)時SIZE值為512。
建立資料庫語法:CREATE DATABASE database_name [ON database_device]
說明:database_name是要建的資料庫名,database_device是設備名
要新建立一個資料庫,就需要設備名,資料庫名,物理名和設備號。具體步驟如下:
我們假設用戶要新建立設備dbName,在設備dbName上建立資料庫dbName。
1)得到設備名 bName是用戶給出的設備名;先查詢系統表sysdevices,看用戶給出的設備名dbName是否已經存在,如果此設備名存在,就需要更換一個設備名,因為設備名是唯一的。
sql = "select * from sysdevices
where name=" & dbName & ""
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "設備名"" & dbName & ""
已存在!", 16, "請重新輸入名稱"
Exit Sub
End If
2)得到資料庫名。dbName是用戶給出的資料庫名;查詢系統表sysdatabases,看用戶給出的資料庫名dbName是否已經存在,如果此資料庫存在,就需要更換一個資料庫名,像設備名一樣,資料庫名也是唯一的
sql = "select * from sysdatabases
where name=" & dbName & ""
Set rs = conn.Execute(sql) 下面代碼略
3)得到PHYNAME物理名。查詢伺服器上資料庫文件的物理位置serverpath,典型的,我們可以從系統表sysdevices中查詢master(這是SQL Server的主庫名)資料庫的位置,例如G:\MSSQL\DATA\MASTER.DAT,則我們的資料庫可以建在"G:\MSSQL\DATA\"目錄下。
sql = "select name,phyname from sysdevices "
low/16777216為設備號
Set rs = conn.Execute(sql)
然後遍歷記錄對象rs,當name="master"時,取出phyname,
從而可以得到物理位置serverpath =G:\MSSQL\DATA\。
4)得到一個空閑的設備號vdevno。設備號合法值1~255,遍歷這些號,查找出未被使用的空閑設備號,下面程序得到已有的設備號
sql = "select distinct low/16777216
from sysdevices order by low/16777216"
low/16777216為設備號
5)建立資料庫。所需的信息都准備完畢,可以建立資料庫了(註:下面的"" & Chr(34) & ""就是一個"""雙引號,這樣處理後,才能滿足語法要求;資料庫為20M,則dbSize=512*20)
sql = "DISK INIT NAME=" & Chr(34) & ""
& dbName & "" & Chr(34) & ",PHYSNAME="
& Chr(34) & "" & serverpath & "" & dbName
& ".dat" & Chr(34) & ",VDEVNO=" & vdevno
& ",SIZE=" & dbSize & ""
Set rs = conn.Execute(sql) 初始化設備
sql = "CREATE DATABASE " & dbName & "
on " & dbName & "=" & dbSize & ""
註:
第一個dbName是資料庫名,
第二個dbName是設備名
Set rs = conn.Execute(sql)
在設備dbName上建立資料庫dbName
MsgBox "資料庫"" & dbName & ""建在伺服器上
"" & serverpath & "" & dbName & ".dat",
建立成功!", 64, "成功"
② VB資料庫的SQL語句訪問問題
哈哈
這個問題我遇到過
首先你想看看書是不是讓你在代碼里寫這些設置呢;
然後再說,再用select語句時,應先設置recordsettype
=
1
其次當你在設置text.datafield時,雖然你綁定了data控制項,但是data沒有綁定表,所以會有你一點text.datafiel時會有如圖錯誤,書上說的只是提供思路,你可以在form_load事件中寫入這些代碼,具體的我就不給你寫了相信你也會了。
③ sql語言和VB語言的區別
sql是資料庫語言,VB是編程語言
Visual Basic是一種由微軟公司開發的包含協助開發環境的事件驅動編程語言。從任何標准來說,VB都是世界上使用人數最多的語言——不僅是盛贊VB的開發者還是抱怨VB的開發者的數量。它源自於BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接資料庫,或者輕松的創建ActiveX控制項。程序員可以輕松的使用VB提供的組件快速建立一個應用程序。
結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的結構化查詢語言語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使他具有極大的靈活性和強大的功能。
④ VB 更新資料庫的SQL語句
更新資料庫的SQL語句通過Update。
語法:
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
示例:
'更新Person表的地址(address)和城市名稱(city),條件是LastName等於Wilson
UPDATEPersonSETAddress='Zhongshan23',City='Nanjing'
WHERELastName='Wilson'
⑤ VB資料庫SQL語句,怎麼寫SQL語句連接的是ADO控制項,DataGrid控制項。
1、select
rownum
as
排名,s.學號,t.姓名,t.班級,s.總分,s.平均分
from
(select
學號
,sum(成績)
as
總分,avg(成績)
as
平均分
from
score
group
by
學號
order
by
sum(成績)
)
s
left
join
student
t
on
(s.學號=t.學號)
2、
select
rownum
as
排名,學號,姓名,班級,課程名稱
as
課程,成績,參加考試人數
from
(select
s.學號,t.姓名,t.班級,s.課程名稱,s.成績,t2.參加考試人數
from
(select
*
from
score
)
s
left
join
student
t
on
(s.學號=t.學號)
,(select
count(學號)
as
參加考試人數,課程號
from
score
group
by
課程號)
t2
where
s.課程號=t2.課程號
order
by
課程號,成績desc)
這兩個sql試試看,我沒怎麼用過access,一般都用oracle,所以這兩個sql可能會有細微調整,但是大體上的邏輯應該是這樣了
⑥ vb和sql有什麼聯系嗎,咋就感覺著兩種語言有點相似呢 求高手解答啊,謝謝啦,。
SQL是結構化查詢語言(或者說資料庫搜索引擎),其他程序設計語言(VB、VC、Delphi等等)可以通過SQL連接資料庫。打個比方:如果說資料庫是倉庫,那麼SQL就是倉庫管理員,其他程序設計語言(比如VB)就是來倉庫取貨的,他們都要經過管理員的授權同意以及協助才能從倉庫中取到所需的貨物。不知道這樣比喻,能幫助你理解嗎?
⑦ vb中用sql語句查詢資料庫
"SELECT
sno,sco
FROM
sco
WHERE
sno='"
&
text1.text
&
"'"
因為現在不弄VB6了,所以具體怎麼連接的代碼我忘了,大概就是如果得到的結果RecordSet是空的,即Bof
And
Eof,則用戶名錯誤,否則如果規定了用戶名不可重復,就有且僅有1條記錄,再比較其中的sco與Text2.Text是否相等,是則正確通過,否則密碼錯誤。
⑧ vb的sql語句
結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。
VB可將Sql查詢語句賦值給Adodc數據控制項的屬性或提供給Ado數據對象,完成存取數據以及查詢、更新和管理關系資料庫系統。
⑨ vb.net 中如何使用SQL語句查詢資料庫中的數據
1、首先打開Visual Studio 2008代碼窗口,添加引用。
⑩ vb.net 中如何使用SQL語句查詢資料庫
dim
myselectquery
as
string
=
"select
*
from
表1
where
姓名='小強'"
dim
mycommand
as
new
sqlcommand
(myselectquery,
conn)
'建立一個command控制項,conn是你的sqlconnection對象
conn.open()'打開數據連接
dim
myreader
as
sqldatareader'定義一個reader用來讀數據
myreader
=
mycommand.executereader()'運行你的查詢,結果到myreader
if
myreader.read()
then
'如果查到了數據
msgbox(myreader.getstring(0))
'顯示第一個欄位
end
if