简体   繁体   中英

Incorrect syntax near ')'. when inserting data from multiple tables

I'm writing this code to insert the data into SQL from front side by deriving the values from 2 tables in SQL. I'm getting an error:

Incorrect syntax near ')'

Code:

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();
}

You query must have 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)";

Wrong SQL Syntax:

Try this;

INSERT INTO PersonalDetails (column1,column2,column3,...) VALUES (@FirstName,@LastName,@Email,@Phone,@Address);

OR

INSERT INTO PersonalDetails VALUES (@FirstName,@LastName,@Email,@Phone,@Address);

You have a wrong SQL Syntax:

"insert into PersonalDetails VALUES (@FirstName,@LastName,@Email,@Phone,@Address)"

And

"insert into LoginDetails VALUES (@Username,@Password,@ConfirmPassword,@[Hint Q1],@Answer1,@[Hint Q2],@Answer2,@[Hint Q3],@Answer3)"

From w3schools :

It is possible to write the INSERT INTO statement in two forms.

The first form does not specify the column names where the data will be inserted, only their values:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

The second form specifies both the column names and the values to be inserted:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

Please check your query statement again:

Can you try :

string PersonalDetailsquery ="INSERT INTO PersonalDetails(FirstName,LastName,Email,Phone,Address)
values('"+txtFirstName.Text+"','"+txtLastName.Text+"','"+txtMailId.Text+"','"+txtPhoneNum.Text+"','"+txtAddress.Text+"')";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM