vbsql內容
A. VS 的VB語言怎麼執行sql語句還有怎麼輸出表裡的內容 求解答!謝謝! 連接資料庫已經會了!
VB使用ADO資料庫可以分為有源資料庫和無源資料庫,即是否使用了DSN數據源,如下例:
1、在連接資料庫前首先要在VB菜單中「工程」-「引用」從中選擇 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6兩個組件,這是在連接數據前所必做的工作。
2、接下來定義ADO的連接對象,如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
第一種方法採用的是無源的資料庫連接方法
conn.ConnectionString = "Driver={sql server};server=JSZX3-11;uid=sa;pwd=;database=wzc"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用戶名,密碼 from login where 用戶名='" & Trim(Combo1.Text) & "' And 密碼='" & Trim(Text1.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("請重新登錄", vbExclamation)
Text1.Text = ""
Text1.SetFocus
Else
Form1.Hide
End If
rs.Close
這是第二種方法連接資料庫的方法,這一種方法是採用有源的方法與資料庫連接的方法,代碼如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用戶名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用戶名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close
B. vb.net 中如何使用SQL語句查詢資料庫中的數據
1、首先打開Visual Studio 2008代好瞎兄碼窗口,添加引用。
C. vb 用sql 語句創建資料庫。
啟動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, "成功"
D. 在VB中,怎樣對SQL資料庫裡面的數據進行操作
方法1,
建立一個模塊
將工程的啟動設置為 SUB MAIN
在模塊里寫下面代碼
Public db As Database
Public rs As Recordset
Sub main()
set db=db.opendatabase("資料庫路徑"<建議用相對路徑--就是把資料庫文件和工程文件放在同一目錄下--相對路徑就是APP.PATH+"資料庫名帶後綴">)
第一啟動窗體<比如:form1>.show
end sub
以後在其他窗體中如果要調用資料庫只用在窗體中寫代碼
set rs=openrecordset(<可以是資料庫的表--如"student",也可以是查詢語句--如"select* form student">)
這時資料庫的內容都存在FILE集合里
比方說set rs=openrecordset("select* form student")
rs.file(0)就是SQL語句查詢結果的第一列
rs.files就是整個結果
使用text1.text=rs.file(0)就可以把文本框於查詢結果幫定起來
如果要對資料庫進行修這時用以下代碼:
db.Execute (<SQL語句--如"insert into student(sno,sname) value("","")">)
方法2,
工程--部件--選擇microsoft data bound grid control 5.0
然後在窗體中添加左邊工具欄的 DATA 和DBGRID 控制項
選擇DBGRID 將屬性DATASOURCE 設置為DATA控制項的名字(如DATA1)
然後選擇DATA 將屬性CONNECT設置為ACCESSS 2000
設置DATABASENAME 選擇資料庫的存放路徑
最後設置RECORDSET 為需要連接的表的名字
運行就可以看到 DATAGRID中顯示了資料庫的信息
E. VB 更新資料庫的SQL語句
更新資料庫的SQL語句通過Update。
語法:
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
示例:
'更新Person表的地址(address)和城市名稱(city),條件是LastName等於Wilson
UPDATEPersonSETAddress='Zhongshan23',City='Nanjing'
WHERELastName='Wilson'