Reputation: 1
it show me this error Incorrect syntax near the keyword 'Select' to make to clear Employee ID in this case is FK in the table (Attendance detail) and the other thing is i am using Data Grid View from another table(Employee information) to Show the list of the staff in my form. then i want to transfer each selected cell value from Data Grid View to attendance detail table. 10q
private void time_in_Click(object sender, EventArgs e)
{
employee_InformationDataGridView.SelectedCells[0].Style.ForeColor = Color.Green;
time_in.Enabled = false;
time_out.Enabled = true;
con = new SqlConnection(GlobalClass.conn);
con.Open();
SqlCommand cmd = new SqlCommand("Insert into Attendancedetail Values(" + "Select from EmployeeInformation(EmployeeID)" + ",'" + employee_InformationDataGridView.SelectedCells[0] + "','" + DateTime.Now.ToLongDateString() + "','" + null + "','" + null + "','" + DateTime.Now.ToLongTimeString() + "'," + null + ")", con);
int i = cmd.ExecuteNonQuery();
MessageBox.Show(i.ToString() + " record inserted");
}
Upvotes: 0
Views: 1113
Reputation: 8304
Consider using parameterized queries. Writing code like this will result in sql injection.
http://www.codinghorror.com/blog/2005/04/give-me-parameterized-sql-or-give-me-death.html
Upvotes: 0
Reputation: 14589
I agree with @Darin, but the full syntax is
Insert into Attendancedetail (columns list) select columns list from EmployeeInformation where employeeid = ' selected cells value'
The Values keyword is not used in such a statement. The 1st columns list is optional if the Select returns all needed columns.
See another question for more examples
Upvotes: 1
Reputation: 1038710
The syntax of your SQL query is wrong. A SELECT
statement requires you to specify the columns you want to return. For example:
SELECT EmployeeID FROM EmployeeInformation
Upvotes: 2