[英]Incorrect syntax near ')'. when inserting data from multiple tables
我正在編寫此代碼,以通過從SQL中的2個表派生值來從正面將數據插入SQL。 我收到一個錯誤:
')'附近的語法不正確
碼:
try
{
sqlconn.Open();
string PersonalDetailsquery = "insert into PersonalDetails(@FirstName,@LastName,@Email,@Phone,@Address)";
SqlCommand sqlcomm1 = new SqlCommand(PersonalDetailsquery, sqlconn);
sqlcomm1.Parameters.AddWithValue("@FirstName", txtFirstName.Text);
sqlcomm1.Parameters.AddWithValue("@LastName", txtLastName.Text);
sqlcomm1.Parameters.AddWithValue("@Email", txtMailId.Text);
sqlcomm1.Parameters.AddWithValue("@Phone", txtPhoneNum.Text);
sqlcomm1.Parameters.AddWithValue("@Address", txtAddress.Text);
sqlcomm1.ExecuteNonQuery();
sqlcomm1.Parameters.Clear();
string LoginDetailsquery = "insert into LoginDetails(@Username, @Password, @ConfirmPassword, @[Hint Q1], @Answer1, @[Hint Q2], @Answer2, @[Hint Q3], @Answer3)";
SqlCommand sqlcomm2 = new SqlCommand(LoginDetailsquery, sqlconn);
sqlcomm2.Parameters.AddWithValue("@Username", txtUserName.Text);
sqlcomm2.Parameters.AddWithValue("@Password", txtPassword.Text);
sqlcomm2.Parameters.AddWithValue("@ConfirmPassword", txtConfirmPsw.Text);
sqlcomm2.Parameters.AddWithValue("@[Hint Q1]", ddlHintQ1.SelectedItem.Text);
sqlcomm2.Parameters.AddWithValue("@Answer1", txtHintQ1.Text);
sqlcomm2.Parameters.AddWithValue("@[Hint Q2]", ddlHintQ2.SelectedItem.Text);
sqlcomm2.Parameters.AddWithValue("@Answer2", txtHintQ2.Text);
sqlcomm2.Parameters.AddWithValue("@[Hint Q3]", ddlHintQ3.SelectedItem.Text);
sqlcomm2.Parameters.AddWithValue("@Answer3", txtHintQ3.Text);
sqlcomm2.ExecuteNonQuery();
Label1.Text = "data Inserted successfully";
}
catch (Exception ex)
{
Label1.Text = ex.Message;
Label1.ForeColor = System.Drawing.Color.Red;
}
finally
{
sqlconn.Close();
}
您查詢的VALUES
必須為VALUES
string PersonalDetailsquery = "insert into PersonalDetails(here your columns) VALUES(@FirstName,@LastName,@Email,@Phone,@Address)";
....
string LoginDetailsquery = "insert into LoginDetails(here your columns) VALUES(@Username,@Password,@ConfirmPassword,@[Hint Q1],@Answer1,@[Hint Q2],@Answer2,@[Hint Q3],@Answer3)";
錯誤的SQL語法:
嘗試這個;
INSERT INTO PersonalDetails (column1,column2,column3,...) VALUES (@FirstName,@LastName,@Email,@Phone,@Address);
要么
INSERT INTO PersonalDetails VALUES (@FirstName,@LastName,@Email,@Phone,@Address);
您的SQL語法錯誤:
"insert into PersonalDetails VALUES (@FirstName,@LastName,@Email,@Phone,@Address)"
和
"insert into LoginDetails VALUES (@Username,@Password,@ConfirmPassword,@[Hint Q1],@Answer1,@[Hint Q2],@Answer2,@[Hint Q3],@Answer3)"
從w3schools :
可以用兩種形式編寫INSERT INTO語句。
第一種形式不指定將在其中插入數據的列名,僅指定其值:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
第二種形式同時指定列名和要插入的值:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
請再次檢查您的查詢語句:
你能試一下嗎 :
string PersonalDetailsquery ="INSERT INTO PersonalDetails(FirstName,LastName,Email,Phone,Address)
values('"+txtFirstName.Text+"','"+txtLastName.Text+"','"+txtMailId.Text+"','"+txtPhoneNum.Text+"','"+txtAddress.Text+"')";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.