簡體   English   中英

')'附近的語法不正確。 從多個表插入數據時

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM