2016-04-04 18 views
1

Code läuft gut, hat erfolgreich mit der Datenbank verbunden, aber ich kann nicht sehen, wo der Fehler in dieser INSERT-Abfrage ist, kann jemand den Fehler sehen?Fehler in INSERT INTO Abfrage

string SaveUserQuery = "INSERT INTO Employee (PayrollNo, FirstName, LastName, Password, AnnualHolidayEntitlement, DaysTakenToDate, Admin, Department) Values(@PayrollNo, @FirstName, @LastName, @Password, @AnnualHolidayEntitlement, @DaysTakenToDate, @Admin, @Department)"; 

Bearbeiten, Fehler hinzugefügt.

Eine nicht behandelte Ausnahme des Typs 'System.Data.OleDb.OleDbException' aufgetreten in System.Data.dll

Zusätzliche Informationen: Syntaxfehler in der INSERT INTO-Anweisung.

bearbeiten, hinzugefügt, wie ich Parameter für Klarheit

SaveUser.Parameters.AddWithValue("@PayrollNo", OleDbType.VarChar).Value = Convert.ToInt32(txtPayrollNo.Text); 
SaveUser.Parameters.AddWithValue("@FirstName", OleDbType.VarChar).Value = txtFirstName.Text; 
SaveUser.Parameters.AddWithValue("@LastName", OleDbType.VarChar).Value = txtLastName.Text; 
SaveUser.Parameters.AddWithValue("@Password", OleDbType.VarChar).Value = "12345"; 
SaveUser.Parameters.AddWithValue("@AnnualHolidayEntitlement", OleDbType.VarChar).Value = Convert.ToInt32(TxtAHE.Text); 
SaveUser.Parameters.AddWithValue("@DaysTakenToDate", OleDbType.VarChar).Value = Convert.ToInt32(TxtDTTD.Text); 

if (IsAdmin()) { SaveUser.Parameters.AddWithValue("@Admin", OleDbType.VarChar).Value = "Y"; } 
else { SaveUser.Parameters.AddWithValue("@Admin", OleDbType.VarChar).Value = "N"; } 

SaveUser.Parameters.AddWithValue("@Department", OleDbType.VarChar).Value = cbbDepartment.Text; 
+4

Normalerweise hilft, wenn Sie uns den Fehler mitteilen. Passwort könnte ein Schlüsselwort sein, also würde ich versuchen, eckige Klammern zu setzen. – LarsTech

+0

Haben Sie versucht, die Abfrage zuerst von Ihrem SQL Server zu testen? – abramlimpin

+0

Ich habe noch nie eine Abfrage vom SQL-Server getestet, ich wusste nie, dass es eine Option war. @LarsTech Ihr Vorschlag von eckigen Klammern löste mein Problem, vielen Dank, würden Sie es als Antwort posten? – Josh

Antwort

1

Versuchen Sie, diese hinzugefügt haben, ich glaube, Sie einige wichtige Worte bekam, die in Klammern sein müssen, zu sagen, es ist ein Feld-SQL.

INSERT INTO Employee (PayrollNo, FirstName, LastName, [Password], AnnualHolidayEntitlement, DaysTakenToDate, [Admin], Department) Values(@PayrollNo, @FirstName, @LastName, @Password, @AnnualHolidayEntitlement, @DaysTakenToDate, @Admin, @Department)