尝试在多个表中插入数据时出现以下错误。
关键字“用户”附近的语法不正确
按钮点击代码:
private void buttonSave_Click(object sender, EventArgs e) {
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SampleTest1.Properties.Settings.SampleTestDBConnectionString"].ConnectionString);
SqlCommand cmd = conn.CreateCommand();
try {
UserId = UserId + 1;
cmd.CommandText = "INSERT INTO [User](User_Id,Name,Gender,Is_Active,Created_Date,Activated_Date) values(@userid,@name,@gender,@isactive,@createdate,@activedate)";
conn.Open();
cmd.Parameters.AddWithValue("@userid", SqlDbType.Int).Value = UserId;
cmd.Parameters.AddWithValue("@name", SqlDbType.VarChar).Value = textBoxName.Text;
cmd.Parameters.AddWithValue("@gender", SqlDbType.VarChar).Value = textBoxGender.Text;
cmd.Parameters.AddWithValue("@isactive", SqlDbType.Bit).Value = "True";
cmd.Parameters.AddWithValue("@createdate", SqlDbType.Date).Value = System.DateTime.Today;
cmd.Parameters.AddWithValue("@activedate", SqlDbType.DateTime).Value = System.DateTime.Now;
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
cmd.CommandText = "INSERT INTO User_Details(User_Id,Mobile,Address,Job_Contract) values(@userid,@mobile,@address,@jobcontract)";
cmd.Parameters.AddWithValue("@userid", SqlDbType.Int).Value = UserId;
cmd.Parameters.AddWithValue("@mobile", SqlDbType.VarChar).Value = textBoxMobile.Text;
cmd.Parameters.AddWithValue("@address", SqlDbType.VarChar).Value = textBoxAddress.Text;
cmd.Parameters.AddWithValue("@jobcontract", SqlDbType.VarChar).Value = textBoxJobContract.Text;
cmd.ExecuteNonQuery();
conn.Close();
}
我已将UserId
值声明为
static int UserId = 100;
不确定出了什么问题。如果需要更多详细信息,请发表评论。
参考文献:
LINK 1:ASP.NET C#将数据插入多个表
LINK 2:一次插入两个表格。
LINK 3:在插入语句
中出现语法错误LINK 4:在SQL Server中同时将数据插入两个表
答案 0 :(得分:0)
用户是保留关键字,因此您需要使用它,如下所示
Insert into [User] (columns) values (@Values);
希望它有所帮助!
答案 1 :(得分:0)
好吧,它是我最终尝试解决这个问题的数据库设计逻辑。
dbo.[User]
声明为[User]
,[SampleTestDB].[dbo].[User]
和INSERT INTO
。using
语句并将AddWithValue
更改为Add
[User]
表,然后插入[User_Details]
表。<强> ISSUE:强>
我将User_Id
表格中的[User]
宣称为Primary
,NOT NULL
,Unique
在[User_Details]
表格中Primary
,NOT NULL
并使用自动增量索引。
在按钮单击代码中,我只使用static int
与[User]
表的INSERT语句冲突,因为它包含Unique属性。
<强> SOLUTION:强>
通过删除并重新创建[User]
表格来解决问题,User_Id
表格与[User_Details]
表格相同。
(已删除Unique
表格中的[User]
约束