2014-10-10 141 views
-4

我得到錯誤「INCORRECT SYNTAX NEAR''附近有語法錯誤'C#

這裏是我的代碼:。

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Mr\Documents\Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"); 
SqlCommand cmd = new SqlCommand(); 
cmd.Connection = con; 
cmd.Parameters.Clear(); 
cmd.CommandText = "insert into tblHesabdary(Shahriye Koll,Pardakhty,Mablagh,Naghdy - Shomare Fish,Albaghy,Name,Family)values(@SK,@P,@M,@NSF,@A,@N,@F)"; 
cmd.Parameters.AddWithValue("@SK", shahriye_KollTextBox.Text); 
cmd.Parameters.AddWithValue("@P", pardakhtyTextBox.Text); 
cmd.Parameters.AddWithValue("@M", mablaghTextBox.Text); 
cmd.Parameters.AddWithValue("@NSF", naghdy___Shomare_FishTextBox.Text); 
cmd.Parameters.AddWithValue("@A", albaghyTextBox.Text); 
cmd.Parameters.AddWithValue("@N", nameTextBox.Text); 
cmd.Parameters.AddWithValue("@F", familyTextBox.Text); 
con.Open(); 
cmd.ExecuteNonQuery(); 
con.Close(); 
MessageBox.Show("jj"); 

我的數據庫是SQL Server Express的

+2

不要在'Naghdy - Shomare Fish'中創建帶空格的列。您可以在查詢中始終使用別名,例如:'SELECT NaghdyShomareFish AS [Naghdy - Shomare Fish] FROM ...'。 – 2014-10-10 14:31:31

回答

5

如果列名或其他標識包括空格或其他特殊字符則必須轉義:

insert into tblHesabdary([Shahriye Koll],Pardakhty,Mablagh,[Naghdy - Shomare Fish],Albaghy,Name,Family)values(@SK,@P,@M,@NSF,@A,@N,@F) 

更好選項是首先不包括特殊字符,例如命名那些列ShahriyeKollNaghdy_ShomareFish等。

+0

其工作,謝謝 – 2014-10-10 14:47:11