C# 靠近'的语法不正确;名称';
我发现了一些错误: “nvarchar”附近的语法不正确。C# 靠近'的语法不正确;名称';,c#,sql,.net,sql-server,C#,Sql,.net,Sql Server,我发现了一些错误: “nvarchar”附近的语法不正确。 “Name”附近的语法不正确 请帮我从中得到帮助 我还向名称(@)添加了标量,但没有得到任何结果 public partial class Form1 : Form { SqlCommand cmd; SqlConnection con; private void button1_Click(object sender, EventArgs e) { con = new SqlConne
“Name”附近的语法不正确 请帮我从中得到帮助 我还向名称(
@
)添加了标量,但没有得到任何结果
public partial class Form1 : Form
{
SqlCommand cmd;
SqlConnection con;
private void button1_Click(object sender, EventArgs e)
{
con = new SqlConnection(@"Data Source=DELL_LAPTOP\sqlexpress;Integrated Security=True");
con.Open();
cmd = new SqlCommand("Insert Into newproj (Name,Designation,Gender,Age,Address,Date,Staff Name,Shift,ST,ET,Hours) Values (@Name,@Designation,@Gender,@Age,@Address,@Date,@Staff Name,@Shift,@ST,@ET,@Hours)", con);
cmd.Parameters.Add("@Name", textBox4.Text);
cmd.Parameters.Add("@Designation", textBox2.Text);
cmd.Parameters.Add("@Gender", comboBox1.SelectedItem.ToString ());
cmd.Parameters.Add("@Age", textBox3.Text);
cmd.Parameters.Add("@Address", textBox5.Text);
cmd.Parameters.Add("@Date", dateTimePicker1.Text);
cmd.Parameters.Add ("@Staff Name", textBox1.Text);
cmd.Parameters.Add ("@Shift", comboBox2.SelectedItem.ToString());
cmd.Parameters.Add("@ST", textBox7.Text);
cmd.Parameters.Add("@ET", textBox8.Text);
cmd.Parameters.Add("@Hours", textBox6.Text);
cmd.ExecuteNonQuery();
}
}
问题就在这个
名称附近
:
Insert Into newproj (Name,Designation,Gender,Age,Address,Date,Staff Name,Shift,ST,ET,Hours) Values
-- ^^^^^^^^^^
由于标识符包含空格,因此需要将其括在方括号中,如下所示:
Insert Into newproj (Name,Designation,Gender,Age,Address,Date,[Staff Name],Shift,ST,ET,Hours) Values
@Staff Name
参数也是如此:因为您拥有它的名称,所以最好将其更改为没有空格的名称。问题就在这个名称附近:
Insert Into newproj (Name,Designation,Gender,Age,Address,Date,Staff Name,Shift,ST,ET,Hours) Values
-- ^^^^^^^^^^
由于标识符包含空格,因此需要将其括在方括号中,如下所示:
Insert Into newproj (Name,Designation,Gender,Age,Address,Date,[Staff Name],Shift,ST,ET,Hours) Values
@Staff Name
参数也是如此:因为您拥有它的名称,所以最好将其更改为没有空格的名称。不要在参数名称中使用空格
将@Staff Name
更改为@StaffName
不要在参数名称中使用空格
将@Staff Name
更改为@StaffName
您的代码在任何地方都不包含“nvarchar”。。。尽管我怀疑您需要逃逸或将@Staff Name
更改为@[Staff Name]
或@StaffName
,但由于空间有限,您不能使用“Staff Name”。尝试使用“StaffName”或“Staff_Name”。(显然,您需要更改数据库以与之匹配)您的代码在任何地方都不包含“nvarchar”。。。尽管我怀疑您需要逃逸或将@Staff Name
更改为@[Staff Name]
或@StaffName
,但由于空间有限,您不能使用“Staff Name”。尝试使用“StaffName”或“Staff_Name”。(显然,您需要更改数据库以与此匹配)