如果它不存在,C#SQL创建表
这个问题在这里已经有了答案:
在SQL Server 2005下的语法是
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tablename]') AND type in (N'U'))
BEGIN
-- create
END
在你的代码中, = FALSE
或NOT
关键字在哪里?
如果存在的话,你的SQL正在创建这个表,如果它不存在的话。
更改SQL以读取IF NOT EXISTS
。
您还可以查看使用Microsoft SMO对象。 我更喜欢使用SMO对象,并让他们尽可能为我做这项工作,而不是通过代码执行SQL文本。
使用SMO数据库对象可以执行以下操作。
Database db = myServer.Databases["MyDB"];
if (! db.Tables.Contains("NewTable"))
{
Table tbl = new Table(db, "NewTable");
Column col1 = new Column(tbl, "Column1", DataType.Varchar(10));
col1.Nullable = true;
tbl.Columns.Add(col1);
tbl.Create();
}
http://www.mssqltips.com/tip.asp?tip=1826
链接地址: http://www.djcxy.com/p/94437.html