熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

動態創建MSSQL數據庫表存儲過程

2022-06-13   來源: SQL Server 

  下面是利用SQL語句創建數據庫存儲過程視圖索引規則修改表查看數據等的方法所要增加的控件如下


   以下是引用片段
Imports SystemData
Imports SystemDataSqlClient

Public Class Form
  Inherits SystemWindowsFormsForm
  Private ConnectionString As String = Data Source=;Initial Catalog=;User Id=sa;Password=;
  Private reader As SqlDataReader = Nothing
  Private conn As SqlConnection = Nothing
  Private cmd As SqlCommand = Nothing
  Private AlterTableBtn As SystemWindowsFormsButton
  Private sql As String = Nothing
  Private CreateOthersBtn As SystemWindowsFormsButton

#Region  Windows 窗體設計器生成的代碼 
  窗體重寫處置以清理組件列表
  Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
    If disposing Then
      If Not (components Is Nothing) Then
        componentsDispose()
      End If
    End If
    MyBaseDispose(disposing)
  End Sub
  Public Sub New()
    MyBaseNew()
    InitializeComponent()
  End Sub
  Private components As SystemComponentModelIContainer
  Friend WithEvents DataGrid As SystemWindowsFormsDataGrid
  Friend WithEvents CreateDBBtn As SystemWindowsFormsButton
  Friend WithEvents CreateTableBtn As SystemWindowsFormsButton
  Friend WithEvents CreateSPBtn As SystemWindowsFormsButton
  Friend WithEvents CreateViewBtn As SystemWindowsFormsButton
  Friend WithEvents btnAlterTable As SystemWindowsFormsButton
  Friend WithEvents btnCreateOthers As SystemWindowsFormsButton
  Friend WithEvents btnDropTable As SystemWindowsFormsButton
  Friend WithEvents btnViewData As SystemWindowsFormsButton
  Friend WithEvents btnViewSP As SystemWindowsFormsButton
  Friend WithEvents btnViewView As SystemWindowsFormsButton
  <SystemDiagnosticsDebuggerStepThrough()> Private Sub InitializeComponent()
    MeCreateDBBtn = New SystemWindowsFormsButton()
    MeCreateTableBtn = New SystemWindowsFormsButton()
    MeCreateSPBtn = New SystemWindowsFormsButton()
    MeCreateViewBtn = New SystemWindowsFormsButton()
    MebtnAlterTable = New SystemWindowsFormsButton()
    MebtnCreateOthers = New SystemWindowsFormsButton()
    MebtnDropTable = New SystemWindowsFormsButton()
    MebtnViewData = New SystemWindowsFormsButton()
    MebtnViewSP = New SystemWindowsFormsButton()
    MebtnViewView = New SystemWindowsFormsButton()
    MeDataGrid = New SystemWindowsFormsDataGrid()
    CType(MeDataGrid SystemComponentModelISupportInitialize)BeginInit()
    MeSuspendLayout()
    
    CreateDBBtn
    
    MeCreateDBBtnLocation = New SystemDrawingPoint( )
    MeCreateDBBtnName = CreateDBBtn
    MeCreateDBBtnSize = New SystemDrawingSize( )
    MeCreateDBBtnTabIndex = 
    MeCreateDBBtnText = 創建數據庫
    
    CreateTableBtn
    
    MeCreateTableBtnLocation = New SystemDrawingPoint( )
    MeCreateTableBtnName = CreateTableBtn
    MeCreateTableBtnTabIndex = 
    MeCreateTableBtnText = 創建表
    
    CreateSPBtn
    
    MeCreateSPBtnLocation = New SystemDrawingPoint( )
    MeCreateSPBtnName = CreateSPBtn
    MeCreateSPBtnSize = New SystemDrawingSize( )
    MeCreateSPBtnTabIndex = 
    MeCreateSPBtnText = 創建存儲過程
    
    CreateViewBtn
    
    MeCreateViewBtnLocation = New SystemDrawingPoint( )
    MeCreateViewBtnName = CreateViewBtn
    MeCreateViewBtnTabIndex = 
    MeCreateViewBtnText = 創建視圖
    
    btnAlterTable
    
    MebtnAlterTableLocation = New SystemDrawingPoint( )
    MebtnAlterTableName = btnAlterTable
    MebtnAlterTableTabIndex = 
    MebtnAlterTableText = 修改表
    
    btnCreateOthers
    
    MebtnCreateOthersLocation = New SystemDrawingPoint( )
    MebtnCreateOthersName = btnCreateOthers
    MebtnCreateOthersSize = New SystemDrawingSize( )
    MebtnCreateOthersTabIndex = 
    MebtnCreateOthersText = 創建規則和索引
    
    btnDropTable
    
    MebtnDropTableLocation = New SystemDrawingPoint( )
    MebtnDropTableName = btnDropTable
    MebtnDropTableTabIndex = 
    MebtnDropTableText = 刪除表
    
    btnViewData
    
    MebtnViewDataLocation = New SystemDrawingPoint( )
    MebtnViewDataName = btnViewData
    MebtnViewDataTabIndex = 
    MebtnViewDataText = 查看數據
    
    btnViewSP
    
    MebtnViewSPLocation = New SystemDrawingPoint( )
    MebtnViewSPName = btnViewSP
    MebtnViewSPSize = New SystemDrawingSize( )
    MebtnViewSPTabIndex = 
    MebtnViewSPText = 查看存儲過程
    
    btnViewView
    
    MebtnViewViewLocation = New SystemDrawingPoint( )
    MebtnViewViewName = btnViewView
    MebtnViewViewTabIndex = 
    MebtnViewViewText = 查看視圖
    
    DataGrid
    
    MeDataGridDataMember = 
    MeDataGridHeaderForeColor = SystemDrawingSystemColorsControlText
    MeDataGridLocation = New SystemDrawingPoint( )
    MeDataGridName = DataGrid
    MeDataGridSize = New SystemDrawingSize( )
    MeDataGridTabIndex = 
    
    Form
    
    MeAutoScaleBaseSize = New SystemDrawingSize( )
    MeClientSize = New SystemDrawingSize( )
    MeControlsAddRange(New SystemWindowsFormsControl() {MeDataGrid MebtnViewView _
              MebtnViewSP MebtnViewData MebtnDropTable MebtnCreateOthers MebtnAlterTable _
              MeCreateViewBtn MeCreateSPBtn MeCreateTableBtn MeCreateDBBtn})
    MeName = Form
    MeText = 動態創建SQL Server數據庫存儲過程等架構信息
    CType(MeDataGrid SystemComponentModelISupportInitialize)EndInit()
    MeResumeLayout(False)

  End Sub

#End Region

   創建數據庫
  Private Sub CreateDBBtn_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles CreateDBBtnClick
    conn = New SqlConnection(ConnectionString)
     打開連接
    If connState <> ConnectionStateOpen Then
      connOpen()
    End If
    MyDataBase為數據庫名稱
    Dim sql As String = CREATE DATABASE MyDataBase ON PRIMARY (Name=MyDataBase_data filename =  + _
        D:\MyDataBasemdf size= + maxsize= filegrowth=%) log on + (name=MyDataBase_log  + _
        filename=D:\MyDataBaseldfsize= + maxsize=filegrowth=)
    cmd = New SqlCommand(sql conn)
    Try
      cmdExecuteNonQuery()
    Catch ae As SqlException
      MessageBoxShow(aeMessageToString())
    End Try
  End Sub
  創建表
  Private Sub CreateTableBtn_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles CreateTableBtnClick
    conn = New SqlConnection(ConnectionString)
     打開連接
    If connState = ConnectionStateOpen Then
      connClose()
    End If
    ConnectionString = Data Source=;Initial Catalog=MyDataBase;User Id=sa;Password=;
    connConnectionString = ConnectionString
    connOpen()
    sql = CREATE TABLE myTable + (myId INTEGER CONSTRAINT PKeyMyId PRIMARY KEY + _
      myName CHAR() NOT Null myAddress CHAR() myValues FLOAT)
    cmd = New SqlCommand(sql conn)
    Try
      cmdExecuteNonQuery()
       添加紀錄
      sql = INSERT INTO myTable(myId myName myAddress myValues)  + _
        VALUES ( _【孟憲會之精彩世界】之一   ) 
      cmd = New SqlCommand(sql conn)
      cmdExecuteNonQuery()
      sql = INSERT INTO myTable(myId myName myAddress myValues)  + _
        VALUES ( 【孟憲會之精彩世界】之二 _lover/ 
      cmd = New SqlCommand(sql conn)
      cmdExecuteNonQuery()
      sql = INSERT INTO myTable(myId myName myAddress myValues)  + _
        VALUES ( 【孟憲會之精彩世界】之三  
      cmd = New SqlCommand(sql conn)
      cmdExecuteNonQuery()
      sql = INSERT INTO myTable(myId myName myAddress myValues)  + _
        VALUES ( 【孟憲會之精彩世界】之四 _lover/ 
      cmd = New SqlCommand(sql conn)
      cmdExecuteNonQuery()
    Catch ae As SqlException
      MessageBoxShow(aeMessageToString())
    End Try

  End Sub
  創建存儲過程
  Private Sub CreateSPBtn_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles CreateSPBtnClick
    sql = CREATE PROCEDURE myProc AS +  SELECT myName myAddress FROM myTable GO
    ExecuteSQLStmt(sql)
  End Sub
  創建視圖
  Private Sub CreateViewBtn_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles CreateViewBtnClick
    sql = CREATE VIEW myView AS SELECT myName FROM myTable
    ExecuteSQLStmt(sql)

  End Sub
  修改表
  Private Sub btnAlterTable_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles btnAlterTableClick
    sql = ALTER TABLE MyTable ADD newCol datetime NOT NULL DEFAULT (getdate())
    ExecuteSQLStmt(sql)
  End Sub
  創建規則和索引
  Private Sub btnCreateOthers_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles btnCreateOthersClick
    sql = CREATE UNIQUE INDEX  + myIdx ON myTable(myName)
    ExecuteSQLStmt(sql)

    sql = CREATE RULE myRule  + AS @myValues >=  AND @myValues < 
    ExecuteSQLStmt(sql)
  End Sub

  刪除表
  Private Sub btnDropTable_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles btnDropTableClick
    Dim sql As String = DROP TABLE MyTable
    ExecuteSQLStmt(sql)
  End Sub
  浏覽表數據
  Private Sub btnViewData_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles btnViewDataClick
    conn = New SqlConnection(ConnectionString)
    If connState = ConnectionStateOpen Then
      connClose()
    End If
    ConnectionString = Data Source=;Initial Catalog=MyDataBase;User Id=sa;Password=;
    connConnectionString = ConnectionString
    connOpen()
    Dim da As New SqlDataAdapter(SELECT * FROM myTable conn)
    Dim ds As New DataSet(myTable)
    daFill(ds myTable)
    DataGridDataSource = dsTables(myTable)DefaultView
  End Sub
  浏覽存儲過程
  Private Sub btnViewSP_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles btnViewSPClick
    conn = New SqlConnection(ConnectionString)
    If connState = ConnectionStateOpen Then
      connClose()
    End If
    ConnectionString = Data Source=;Initial Catalog=MyDataBase;User Id=sa;Password=;
    connConnectionString = ConnectionString
    connOpen()
    Dim da As New SqlDataAdapter(myProc conn)
    Dim ds As New DataSet(SP)
    daFill(ds SP)
    DataGridDataSource = dsDefaultViewManager
  End Sub
  浏覽視圖
  Private Sub btnViewView_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) _
    Handles btnViewViewClick
    conn = New SqlConnection(ConnectionString)
    If connState = ConnectionStateOpen Then
      connClose()
    End If
    ConnectionString = Data Source=;Initial Catalog=MyDataBase;User Id=sa;Password=;
    connConnectionString = ConnectionString
    connOpen()
    Dim da As New SqlDataAdapter(SELECT * FROM myView conn)
    Dim ds As New DataSet()
    daFill(ds)
    DataGridDataSource = dsDefaultViewManager
  End Sub

  Private Sub ExecuteSQLStmt(ByVal sql As String)
    conn = New SqlConnection(ConnectionString)
     打開連接
    If connState = ConnectionStateOpen Then
      connClose()
    End If
    ConnectionString = Data Source=;Initial Catalog=MyDataBase;User Id=sa;Password=;
    connConnectionString = ConnectionString
    connOpen()
    cmd = New SqlCommand(sql conn)
    Try
      cmdExecuteNonQuery()
    Catch ae As SqlException
      MessageBoxShow(aeMessageToString())
    End Try
  End Sub
End Class


From:http://tw.wingwit.com/Article/program/SQLServer/201311/22212.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.