VB+SQL資料庫管理系統中,如何在無資料來源的情況下執行SQL

來源:互聯網
上載者:User
資料|資料庫|資料來源|執行
一般的資料庫系統編程教程都是在開始編程的時候建立資料庫,並在系統中產生使用者資料來源、系統資料來源和檔案資料院,在整合式開發環境中,通過資料來源串連到資料庫。那麼,如何在沒有資料來源的情況下,進行編程。產生應用程式要操縱的資料庫以及表呢?(如:應用程式在安裝完畢後,第一次啟動時產生相應的資料庫)。

方法:在應用程式的ADO對象的連接字串中指定DBMS的合法使用者名稱和密碼,並指定資料庫驅動程式及要串連到目標主機。

如:串連到原生SQL SERVER 假設 使用者名稱為 SA  密碼為空白。
連接字串為:conn_str = "uid=sa;pwd=;driver={sql server};server=(local)"
然後,串連的資料庫就可以進行相應的操作了。


下面是我的一個類比醫學管理系統的原代碼(VB):
Public Sub generate_db()
'判斷在應用程式的目錄下是否有應用程式的資料庫檔案
Dim db_file As String
db_file = Dir(App.Path + "\test.mdf")


If db_file = "" Then
'定義連接字串
Dim conn_str As String
conn_str = "uid=sa;pwd=;database=master;driver={sql server};server=(local)"

'聲明要使用的對象
Dim conn As New ADODB.Connection
Dim cmd  As New ADODB.Command
Dim rs As New ADODB.Recordset
'串連資料來源
conn.Open conn_str
'建立查詢命令
cmd.CommandText = "create database test on primary(name=test,filename='" & App.Path + "\test.mdf" & "',size=5mb,maxsize=10mb,filegrowth=20%) log on(name=test_log,filename='" & App.Path + "\test_log.ldf" & "',size=2mb,maxsize=4mb,filegrowth=20%)"
'執行命令(用來產生資料庫)
conn.Execute cmd.CommandText, Default, -1
'產生資料庫需要用到的表
cmd.CommandText = "CREATE TABLE test.[dbo].[db_user] (    [使用者名稱] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,    [密碼] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,    [許可權] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,    [註冊日期] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL)"
conn.Execute cmd.CommandText, Default, -1

'給資料庫一個根使用者
cmd.CommandText = "INSERT INTO test.[dbo].db_user VALUES('root','root','管理員','原始使用者')"
conn.Execute cmd.CommandText, Default, -1


Else
MsgBox "當前使用的資料庫檔案狀態完好!", vbOKOnly + vbInformation, "提示"
End If
End Sub

2004年10月4日




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。