開發人員常需以程式碼動態建立資料庫。本文示範如何使用 ADO.NET 搭配 Visual Basic .NET 程式化建立 Microsoft SQL Server 資料庫,包含完整程式碼範例與關鍵注意事項。
Name=btnCreateDatabase、Text=Create DatabaseImports System.Data.SqlClientPrivate Sub btnCreateDatabase_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnCreateDatabase.Click
Dim reader As SqlDataReader
Dim str As String
' 連線字串指向 master 資料庫
Dim myConn As SqlConnection = New SqlConnection("Server=(local)\netsdk;" & _
"uid=sa;pwd=;database=master")
' CREATE DATABASE T-SQL 陳述式
str = "CREATE DATABASE MyDatabase ON PRIMARY " & _
"(NAME = MyDatabase_Data, " & _
" FILENAME = 'D:\MyFolder\MyDatabaseData.mdf', " & _
" SIZE = 2MB, " & _
" MAXSIZE = 10MB, " & _
" FILEGROWTH = 10%) " & _
" LOG ON " & _
"(NAME = MyDatabase_Log, " & _
" FILENAME = 'D:\MyFolder\MyDatabaseLog.ldf', " & _
" SIZE = 1MB, " & _
" MAXSIZE = 5MB, " & _
" FILEGROWTH = 10%) "
Dim myCommand As SqlCommand = New SqlCommand(str, myConn)
Try
myConn.Open()
reader = myCommand.ExecuteReader()
Catch ex As Exception
MessageBox.Show(ex.ToString())
Finally
If Not reader Is Nothing Then
reader.Close()
End If
If (myConn.State = ConnectionState.Open) Then
myConn.Close()
End If
MessageBox.Show("Database is created successfully", _
"MyProgram", MessageBoxButtons.OK, _
MessageBoxIcon.Information)
End Try
End Sub
Database 參數設為 Master 或留空str 變數:str = "CREATE DATABASE MyDatabase"| 元件 | 說明 |
|---|---|
| SqlConnection | 連線物件,連線字串必須指向 master 資料庫才能建立新資料庫 |
| SqlCommand | 執行 CREATE DATABASE T-SQL 陳述式 |
| ExecuteReader | 雖為建立資料庫 DDL 操作,但使用 ExecuteReader 執行 |
| Try-Catch-Finally | 完整錯誤處理與資源釋放模式 |
| FILENAME 路徑 | 使用雙反斜線或 @ 字串常值避免跳脫字元問題 |