其他分享
首页 > 其他分享> > CodeGo.net>如何创建一个名称为参数的表?

CodeGo.net>如何创建一个名称为参数的表?

作者:互联网

我在msdn的文档中找不到如何插入执行名称表参数的语句.通过平价推理,我尝试过:

var myNameOfTable = "wantedName";
db.Execute("CREATE TABLE @0 (id int IDENTITY (1,1) PRIMARY KEY, data ntext, dataOfAdd datetime)", myNameOfTable);

但是我得到了错误:

[ Token line number = 1,Token line offset = 14,Token in error = @0 ]

请帮帮我-如何创建名称为参数的表?

解决方法:

您通过选项提供表名,而不是使用字符串连接/string.Format进行查询.您至少使用Paramerized Query或更好地使用存储过程而不是内联查询,因为它们可能会导致sql injection.您可以阅读此文章Stored procedures vs. inline SQL进行比较.

db.Execute("CREATE TABLE " + myNameOfTable + " (id int IDENTITY (1,1) PRIMARY KEY, data ntext, dataOfAdd datetime)" );

您正在使用的语法可以通过string.Format实现

db.Execute(string.Format("CREATE TABLE {0} (id int IDENTITY (1,1) PRIMARY KEY, data ntext, dataOfAdd datetime)", myNameOfTable));

标签:webmatrix,razor,sql-server-ce,c
来源: https://codeday.me/bug/20191028/1954011.html