WEB开发网
开发学院数据库MSSQL Server 动态创建MSSQL数据库表存储过程 阅读

动态创建MSSQL数据库表存储过程

 2007-05-08 09:25:33 来源:WEB开发网   
核心提示:下面是利用SQL语句创建数据库、表、存储过程、视图、索引、规则、修改表、查看数据等的方法,所要增加的控件如下:以下是引用片段:ImportsSystem.DataImportsSystem.Data.SqlClientPublicClassForm1InheritsSystem.Windows.Forms.FormPr

下面是利用SQL语句创建数据库、表、存储过程、视图、索引、规则、修改表、查看数据等的方法。所要增加的控件如下:

以下是引用片段:
ImportsSystem.Data
ImportsSystem.Data.SqlClient
PublicClassForm1
 InheritsSystem.Windows.Forms.Form
 PrivateConnectionStringAsString="DataSource=.;InitialCatalog=;UserId=sa;Password=;"
 PrivatereaderAsSqlDataReader=Nothing
 PrivateconnAsSqlConnection=Nothing
 PrivatecmdAsSqlCommand=Nothing
 PrivateAlterTableBtnAsSystem.Windows.Forms.Button
 PrivatesqlAsString=Nothing
 PrivateCreateOthersBtnAsSystem.Windows.Forms.Button
#Region"Windows窗体设计器生成的代码"
 '窗体重写处置以清理组件列表。
 ProtectedOverloadsOverridesSubDispose(ByValdisposingAsBoolean)
  IfdisposingThen
   IfNot(componentsIsNothing)Then
    components.Dispose()
   EndIf
  EndIf
  MyBase.Dispose(disposing)
 EndSub
 PublicSubNew()
  MyBase.New()
  InitializeComponent()
 EndSub
 PrivatecomponentsAsSystem.ComponentModel.IContainer
 FriendWithEventsDataGrid1AsSystem.Windows.Forms.DataGrid
 FriendWithEventsCreateDBBtnAsSystem.Windows.Forms.Button
 FriendWithEventsCreateTableBtnAsSystem.Windows.Forms.Button
 FriendWithEventsCreateSPBtnAsSystem.Windows.Forms.Button
 FriendWithEventsCreateViewBtnAsSystem.Windows.Forms.Button
 FriendWithEventsbtnAlterTableAsSystem.Windows.Forms.Button
 FriendWithEventsbtnCreateOthersAsSystem.Windows.Forms.Button
 FriendWithEventsbtnDropTableAsSystem.Windows.Forms.Button
 FriendWithEventsbtnViewDataAsSystem.Windows.Forms.Button
 FriendWithEventsbtnViewSPAsSystem.Windows.Forms.Button
 FriendWithEventsbtnViewViewAsSystem.Windows.Forms.Button
 <System.Diagnostics.DebuggerStepThrough()>PrivateSubInitializeComponent()
  Me.CreateDBBtn=NewSystem.Windows.Forms.Button()
  Me.CreateTableBtn=NewSystem.Windows.Forms.Button()
  Me.CreateSPBtn=NewSystem.Windows.Forms.Button()
  Me.CreateViewBtn=NewSystem.Windows.Forms.Button()
  Me.btnAlterTable=NewSystem.Windows.Forms.Button()
  Me.btnCreateOthers=NewSystem.Windows.Forms.Button()
  Me.btnDropTable=NewSystem.Windows.Forms.Button()
  Me.btnViewData=NewSystem.Windows.Forms.Button()
  Me.btnViewSP=NewSystem.Windows.Forms.Button()
  Me.btnViewView=NewSystem.Windows.Forms.Button()
  Me.DataGrid1=NewSystem.Windows.Forms.DataGrid()
  CType(Me.DataGrid1,System.ComponentModel.ISupportInitialize).BeginInit()
  Me.SuspendLayout()
  '
  'CreateDBBtn
  '
  Me.CreateDBBtn.Location=NewSystem.Drawing.Point(19,9)
  Me.CreateDBBtn.Name="CreateDBBtn"
  Me.CreateDBBtn.Size=NewSystem.Drawing.Size(104,23)
  Me.CreateDBBtn.TabIndex=0
  Me.CreateDBBtn.Text="创建数据库"
  '
  'CreateTableBtn
  '
  Me.CreateTableBtn.Location=NewSystem.Drawing.Point(139,9)
  Me.CreateTableBtn.Name="CreateTableBtn"
  Me.CreateTableBtn.TabIndex=1
  Me.CreateTableBtn.Text="创建表"
  '
  'CreateSPBtn
  '
  Me.CreateSPBtn.Location=NewSystem.Drawing.Point(230,9)
  Me.CreateSPBtn.Name="CreateSPBtn"
  Me.CreateSPBtn.Size=NewSystem.Drawing.Size(104,23)
  Me.CreateSPBtn.TabIndex=2
  Me.CreateSPBtn.Text="创建存储过程"
  '
  'CreateViewBtn
  '
  Me.CreateViewBtn.Location=NewSystem.Drawing.Point(350,9)
  Me.CreateViewBtn.Name="CreateViewBtn"
  Me.CreateViewBtn.TabIndex=3
  Me.CreateViewBtn.Text="创建视图"
  '
  'btnAlterTable
  '
  Me.btnAlterTable.Location=NewSystem.Drawing.Point(441,9)
  Me.btnAlterTable.Name="btnAlterTable"
  Me.btnAlterTable.TabIndex=4
  Me.btnAlterTable.Text="修改表"
  '
  'btnCreateOthers
  '
  Me.btnCreateOthers.Location=NewSystem.Drawing.Point(17,43)
  Me.btnCreateOthers.Name="btnCreateOthers"
  Me.btnCreateOthers.Size=NewSystem.Drawing.Size(104,23)
  Me.btnCreateOthers.TabIndex=5
  Me.btnCreateOthers.Text="创建规则和索引"
  '
  'btnDropTable
  '
  Me.btnDropTable.Location=NewSystem.Drawing.Point(138,43)
  Me.btnDropTable.Name="btnDropTable"
  Me.btnDropTable.TabIndex=6
  Me.btnDropTable.Text="删除表"
  '
  'btnViewData
  '
  Me.btnViewData.Location=NewSystem.Drawing.Point(351,43)
  Me.btnViewData.Name="btnViewData"
  Me.btnViewData.TabIndex=7
  Me.btnViewData.Text="查看数据"
  '
  'btnViewSP
  '
  Me.btnViewSP.Location=NewSystem.Drawing.Point(230,43)
  Me.btnViewSP.Name="btnViewSP"
  Me.btnViewSP.Size=NewSystem.Drawing.Size(104,23)
  Me.btnViewSP.TabIndex=8
  Me.btnViewSP.Text="查看存储过程"
  '
  'btnViewView
  '
  Me.btnViewView.Location=NewSystem.Drawing.Point(443,43)
  Me.btnViewView.Name="btnViewView"
  Me.btnViewView.TabIndex=9
  Me.btnViewView.Text="查看视图"
  '
  'DataGrid1
  '
  Me.DataGrid1.DataMember=""
  Me.DataGrid1.HeaderForeColor=System.Drawing.SystemColors.ControlText
  Me.DataGrid1.Location=NewSystem.Drawing.Point(20,76)
  Me.DataGrid1.Name="DataGrid1"
  Me.DataGrid1.Size=NewSystem.Drawing.Size(500,183)
  Me.DataGrid1.TabIndex=10
  '
  'Form1
  '
  Me.AutoScaleBaseSize=NewSystem.Drawing.Size(5,13)
  Me.ClientSize=NewSystem.Drawing.Size(538,281)
  Me.Controls.AddRange(NewSystem.Windows.Forms.Control(){Me.DataGrid1,Me.btnViewView,_
       Me.btnViewSP,Me.btnViewData,Me.btnDropTable,Me.btnCreateOthers,Me.btnAlterTable,_
       Me.CreateViewBtn,Me.CreateSPBtn,Me.CreateTableBtn,Me.CreateDBBtn})
  Me.Name="Form1"
  Me.Text="动态创建SQLServer数据库、表、存储过程等架构信息"
  CType(Me.DataGrid1,System.ComponentModel.ISupportInitialize).EndInit()
  Me.ResumeLayout(False)
 EndSub
#EndRegion
 '创建数据库
 PrivateSubCreateDBBtn_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesCreateDBBtn.Click
  conn=NewSqlConnection(ConnectionString)
  '打开连接
  Ifconn.State<>ConnectionState.OpenThen
   conn.Open()
  EndIf
  'MyDataBase为数据库名称
  DimsqlAsString="CREATEDATABASEMyDataBaseONPRIMARY(Name=MyDataBase_data,filename="+_
    "'D:MyDataBase.mdf',size=3,"+"maxsize=5,filegrowth=10%)logon"+"(name=MyDataBase_log,"+_
    "filename='D:MyDataBase.ldf',size=3,"+"maxsize=20,filegrowth=1)"
  cmd=NewSqlCommand(sql,conn)
  Try
   cmd.ExecuteNonQuery()
  CatchaeAsSqlException
   MessageBox.Show(ae.Message.ToString())
  EndTry
 EndSub
 '创建表
 PrivateSubCreateTableBtn_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesCreateTableBtn.Click
  conn=NewSqlConnection(ConnectionString)
  '打开连接
  Ifconn.State=ConnectionState.OpenThen
   conn.Close()
  EndIf
  ConnectionString="DataSource=.;InitialCatalog=MyDataBase;UserId=sa;Password=;"
  conn.ConnectionString=ConnectionString
  conn.Open()
  sql="CREATETABLEmyTable"+"(myIdINTEGERCONSTRAINTPKeyMyIdPRIMARYKEY,"+_
   "myNameCHAR(50)NOTNull,myAddressCHAR(255),myValuesFLOAT)"
  cmd=NewSqlCommand(sql,conn)
  Try
   cmd.ExecuteNonQuery()
   '添加纪录
   sql="INSERTINTOmyTable(myId,myName,myAddress,myValues)"+_
    "VALUES(1001,_'【孟宪会之精彩世界】之一','http://xml.sz.luohuedu.net/',100)"
   cmd=NewSqlCommand(sql,conn)
   cmd.ExecuteNonQuery()
   sql="INSERTINTOmyTable(myId,myName,myAddress,myValues)"+_
    "VALUES(1002,'【孟宪会之精彩世界】之二','http://www.erp800.com/net_lover/',99)"
   cmd=NewSqlCommand(sql,conn)
   cmd.ExecuteNonQuery()
   sql="INSERTINTOmyTable(myId,myName,myAddress,myValues)"+_
    "VALUES(1003,'【孟宪会之精彩世界】之三','http://xml.sz.luohuedu.net/',99)"
   cmd=NewSqlCommand(sql,conn)
   cmd.ExecuteNonQuery()
   sql="INSERTINTOmyTable(myId,myName,myAddress,myValues)"+_
    "VALUES(1004,'【孟宪会之精彩世界】之四','http://www.erp800.com/net_lover/',100)"
   cmd=NewSqlCommand(sql,conn)
   cmd.ExecuteNonQuery()
  CatchaeAsSqlException
   MessageBox.Show(ae.Message.ToString())
  EndTry
 EndSub
 '创建存储过程
 PrivateSubCreateSPBtn_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesCreateSPBtn.Click
  sql="CREATEPROCEDUREmyProcAS"+"SELECTmyName,myAddressFROMmyTableGO"
  ExecuteSQLStmt(sql)
 EndSub
 '创建视图
 PrivateSubCreateViewBtn_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesCreateViewBtn.Click
  sql="CREATEVIEWmyViewASSELECTmyNameFROMmyTable"
  ExecuteSQLStmt(sql)
 EndSub
 '修改表
 PrivateSubbtnAlterTable_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesbtnAlterTable.Click
  sql="ALTERTABLEMyTableADDnewColdatetimeNOTNULLDEFAULT(getdate())"
  ExecuteSQLStmt(sql)
 EndSub
 '创建规则和索引
 PrivateSubbtnCreateOthers_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesbtnCreateOthers.Click
  sql="CREATEUNIQUEINDEX"+"myIdxONmyTable(myName)"
  ExecuteSQLStmt(sql)
  sql="CREATERULEmyRule"+"AS@myValues>=90AND@myValues<9999"
  ExecuteSQLStmt(sql)
 EndSub
 '删除表
 PrivateSubbtnDropTable_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesbtnDropTable.Click
  DimsqlAsString="DROPTABLEMyTable"
  ExecuteSQLStmt(sql)
 EndSub
 '浏览表数据
 PrivateSubbtnViewData_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesbtnViewData.Click
  conn=NewSqlConnection(ConnectionString)
  Ifconn.State=ConnectionState.OpenThen
   conn.Close()
  EndIf
  ConnectionString="DataSource=.;InitialCatalog=MyDataBase;UserId=sa;Password=;"
  conn.ConnectionString=ConnectionString
  conn.Open()
  DimdaAsNewSqlDataAdapter("SELECT*FROMmyTable",conn)
  DimdsAsNewDataSet("myTable")
  da.Fill(ds,"myTable")
  DataGrid1.DataSource=ds.Tables("myTable").DefaultView
 EndSub
 '浏览存储过程
 PrivateSubbtnViewSP_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesbtnViewSP.Click
  conn=NewSqlConnection(ConnectionString)
  Ifconn.State=ConnectionState.OpenThen
   conn.Close()
  EndIf
  ConnectionString="DataSource=.;InitialCatalog=MyDataBase;UserId=sa;Password=;"
  conn.ConnectionString=ConnectionString
  conn.Open()
  DimdaAsNewSqlDataAdapter("myProc",conn)
  DimdsAsNewDataSet("SP")
  da.Fill(ds,"SP")
  DataGrid1.DataSource=ds.DefaultViewManager
 EndSub
 '浏览视图
 PrivateSubbtnViewView_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
  HandlesbtnViewView.Click
  conn=NewSqlConnection(ConnectionString)
  Ifconn.State=ConnectionState.OpenThen
   conn.Close()
  EndIf
  ConnectionString="DataSource=.;InitialCatalog=MyDataBase;UserId=sa;Password=;"
  conn.ConnectionString=ConnectionString
  conn.Open()
  DimdaAsNewSqlDataAdapter("SELECT*FROMmyView",conn)
  DimdsAsNewDataSet()
  da.Fill(ds)
  DataGrid1.DataSource=ds.DefaultViewManager
 EndSub
 PrivateSubExecuteSQLStmt(ByValsqlAsString)
  conn=NewSqlConnection(ConnectionString)
  '打开连接
  Ifconn.State=ConnectionState.OpenThen
   conn.Close()
  EndIf
  ConnectionString="DataSource=.;InitialCatalog=MyDataBase;UserId=sa;Password=;"
  conn.ConnectionString=ConnectionString
  conn.Open()
  cmd=NewSqlCommand(sql,conn)
  Try
   cmd.ExecuteNonQuery()
  CatchaeAsSqlException
   MessageBox.Show(ae.Message.ToString())
  EndTry
 EndSub
EndClass

Tags:动态 创建 MSSQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接