sqlserver2000中使用存储过程创建表

1. 创建存储过程
CREATE   procedure   LP_CreateTab    
  @Tab_NameInfo     varchar(20),  
  @Tab_NameAchv     varchar(20)   
AS  
BEGIN TRANSACTION 
  exec('Create  Table  '+@Tab_NameInfo+'  
  ( Fd_No                    nvarchar(15),  
  Fd_XL                      nvarchar(10)   ,  
  Fd_Master               nvarchar(10),  
  Fd_StdNo                nvarchar(3)           primary   key,  
  Fd_StdName           nvarchar(20),  
  Fd_Age                   nvarchar(4)   ,  
  Fd_Zoom                nvarchar(15),  
  FOREIGN   KEY   (Fd_No)   REFERENCES   Tab_Class  
  )')  
  exec('Create  Table  '+@Tab_NameAchv+'  
  ( Fd_No                  nvarchar(15),  
  Fd_StdNo               nvarchar(3),  
  Fd_StdName          nvarchar(20),  
  Fd_SubNo              nvarchar(4)   ,  
  Fd_SubName         nvarchar(15),  
  Fd_Credit               int,  
  Fd_Grd                  float,  
  Fd_KNo                 int,  
  Fd_KFlag              nvarchar(4)  
  FOREIGN   KEY   (Fd_No)   REFERENCES   Tab_Class  
  )')  
IF @@ERROR=0
  BEGIN
    COMMIT TRANSACTION    
    RETURN 0
  END Else
  BEGIN
    ROLLBACK TRANSACTION
    RETURN -1
  END 
GO

2. C#中调用
public void createTable(string tableNameInfo, string tableNameAchv)
{
  try  
  {  
    sqlConnection1 = new SqlConnection(@"Data Source=(local);" + "Integrated Security=SSPI;" + "Initial Catalog=pubs");  
    sqlConnection1.Open();  
    sqlCommand1 = new SqlCommand("LP_CreateTab",sqlConnection1);  
    sqlCommand1.CommandType = CommandType.StoredProcedure;  
    sqlCommand1.Parameters.Add("@Tab_NameInfo",System.Data.SqlDbType.Char,20);  
    sqlCommand1.Parameters["@Tab_NameInfo"].Value = tableNameInfo;  
    sqlCommand1.Parameters.Add("@Tab_NameAchv",System.Data.SqlDbType.Char,20);  
    sqlCommand1.Parameters["@Tab_NameAchv"].Value = tableNameAchv;  
    sqlCommand1.ExecuteNonQuery();  
    sqlConnection1.Close();  
  }  
  catch(Exception error)  
  {  
    System.Diagnostics.Debug.Write(error.Message);  
  }    
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值