为什么SQL表名不能以数字开头?

时间:2017-05-27 14:07:27

标签: c# sql sql-server ddl

我是C#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,但没有帮助。

任何人都知道如何修复它以便我可以创建以数字开头的表格?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以通过将[]

括起来来转义表格的名称
MySQLCommand.CommandText = "CREATE TABLE ["+textBox1.Text+"] (Col1 int, Col2 varchar(50), Col money)";
// Here ---------------------------------^-----------------^