我是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