System.Data、System.Data.SqlClientPublic Class Form1
Inherits System.Windows.Forms.Form
Private ConnectionString As String = "Data Source=.;Initial Catalog=;User Id=sa;Password=;"
Private conn As SqlConnection = Nothing
Private cmd As SqlCommand = Nothing
' 按鈕事件對應各項操作
Private Sub CreateDBBtn_Click(...) ' 建立資料庫
Private Sub CreateTableBtn_Click(...) ' 建立資料表並插入測試資料
Private Sub CreateSPBtn_Click(...) ' 建立預存程序
Private Sub CreateViewBtn_Click(...) ' 建立檢視表
Private Sub btnAlterTable_Click(...) ' 修改資料表(新增欄位)
Private Sub btnCreateOthers_Click(...) ' 建立索引與 Rule
Private Sub btnDropTable_Click(...) ' 刪除資料表
Private Sub btnViewData_Click(...) ' 查詢資料並顯示於 DataGrid
Private Sub btnViewSP_Click(...) ' 執行並顯示預存程序結果
Private Sub btnViewView_Click(...) ' 查詢並顯示檢視表結果
Private Sub ExecuteSQLStmt(ByVal sql As String)
' 統一執行 T-SQL 的輔助方法
End Sub
End Class
CREATE DATABASE MyDataBase
ON PRIMARY (
NAME = MyDataBase_data,
FILENAME = 'D:\MyDataBase.mdf',
SIZE = 3MB, MAXSIZE = 5MB, FILEGROWTH = 10%
)
LOG ON (
NAME = MyDataBase_log,
FILENAME = 'D:\MyDataBase.ldf',
SIZE = 3MB, MAXSIZE = 20MB, FILEGROWTH = 1MB
);
CREATE TABLE myTable (
myId INTEGER CONSTRAINT PKeyMyId PRIMARY KEY,
myName CHAR(50) NOT NULL,
myAddress CHAR(255),
myValues FLOAT
);
INSERT INTO myTable (myId, myName, myAddress, myValues)
VALUES (1001, '標題一', 'https://example.com/', 100);
CREATE PROCEDURE myProc AS SELECT myName, myAddress FROM myTable;
CREATE VIEW myView AS SELECT myName FROM myTable;
CREATE UNIQUE INDEX myIdx ON myTable(myName);
CREATE RULE myRule AS @myValues >= 90 AND @myValues < 9999;
ALTER TABLE MyTable ADD newCol datetime NOT NULL DEFAULT (GETDATE());
所有 ExecuteNonQuery() 均包裹在 Try...Catch SqlException 中,透過 MessageBox.Show 顯示錯誤訊息,方便除錯。