首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

VB.NET 動態建立 SQL Server 資料庫、資料表、預存程序與索引完整範例

     編輯:關於SqlServer

專案需求

  • 引用命名空間:System.Data、System.Data.SqlClient
  • 目標:透過程式碼動態建立資料庫架構(Database、Table、Stored Procedure、View、Index、Rule)、修改表結構、查詢資料。

核心程式碼架構

Public 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

關鍵 T-SQL 範例

建立資料庫(含檔案群組與記錄檔)

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);

建立預存程序、檢視、索引、Rule

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());

執行流程建議

  1. 先點擊「建立資料庫」→ 連接字串切換至新資料庫。
  2. 再點擊「建立資料表」→ 自動插入 4 筆測試資料。
  3. 依需求建立 SP、View、Index、Rule。
  4. 使用「查看資料/SP/View」驗證結果。
  5. 測試完成可點擊「刪除資料表」清理環境。

錯誤處理

所有 ExecuteNonQuery() 均包裹在 Try...Catch SqlException 中,透過 MessageBox.Show 顯示錯誤訊息,方便除錯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved