动态创建数据库表

来源:互联网 发布:php数组值相加 编辑:程序博客网 时间:2024/04/28 11:56

    以前对数据库的操作基本上处于数据行阶段,在得知动态可以生成数据库表后很是激动,这可以更灵活的操作数据库,使用方法也出乎意料的简单:

SQL语句

string strSql = @"IF object_id('" + tableName + "') IS NULL Create Table " + tableName + "(QuestionId int IDENTITY(1,1)," +                     "ChapterId varchar(50) not null," +                     "QuestionTypeId varchar(50) not null," +                     "Point varchar(50) not null," +                     "Degree varchar(50) not null," +                     "Fraction float not null," +                     "QuestionContent text not null," +                     "Answer1 text," +                     "Answer2 text," +                     "Answer3 text," +                     "Answer4 text," +                     "CorrectAnswer text," +                     "IsValid varchar(10) constraint PK_" + tableName + " primary key (QuestionId))";

执行语句

            //创建一个数据库连接            sCmd = new SqlCommand(cmdText, sqlConn);            //给该SqlCommand对象指定命令类型(执行的sql文本语句还是存储过程)            sCmd.CommandType = cmdType;            //该该SqlCommand对象增加参数            //sCmd.Parameters.AddRange(paras);            //指定该Sqlcommand对象在事务中执行            sCmd.Transaction = sqlTran;            //返回该命令执行后影响到的行数            return sCmd.ExecuteNonQuery();


    原理很简单,就是首先判断要创建的表是否存在,如果不存在则创建;同时把创建表语句写到SQL语句中,再通过常用的SQL命名执行即可。

    还是那句话,技术这东西不怕你学不会,就怕你不知道有这么个知识,即“不怕不知道,就怕不知道”。