我是C#
和SQL
的新手。为什么SQL表名不能以数字开头?
使用下面的代码我试图创建新表,并一切顺利,因为我想但问题是:使用textBox
如果我名字表开始与数字(123MytableName
)它会抛出错误说“语法不正确'123MytableName '“
using (SqlConnection MyConnection = new SqlConnection())
using (SqlCommand MySQLCommand = new SqlCommand())
{
MyConnection.ConnectionString = " Data Source=localhost; Initial Catalog=TestDB ;Integrated Security=true;Max Pool Size=1024; Pooling=true";
MyConnection.Open();
MySQLCommand.CommandText = "CREATE TABLE "+textBox1.Text+" (Col1 int, Col2 varchar(50), Col money)";
MySQLCommand.Connection = MyConnection;
MySQLCommand.ExecuteNonQuery();
}
我读this但它没有帮助。
任何人都知道如何修复它,所以我可以创建以数字开头的表格?
谢谢
从用户直接在无任何消毒的SQL代码中使用的输入是获得安全的最好方法这些孔足以让一辆宽敞的18轮车驶过它们。 [想想鲍比表](https://xkcd.com/327/),只要你想做那样的事情。 –
您无法使用表名称的参数,因此您最好研究其他一些防止SQL注入的方法。在彻底清理和验证用户输入之后,在“TBL”之前添加前缀应该足够了。 –
@一些程序员老兄。是的,我知道,我只是建立一个用于学习目的的测试程序。 tnx – user8074669