Syntax error (missing operator) in query expression c#

243 Views Asked by At

Can some one please help me to resolve the issue ?

I am getting the syntax error while running this code.

OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=J:\CADFileLogger.accdb");
string cmdText = "INSERT INTO [tbl_Logger] (Username,FullFileName,DateOfAction,EventMode,ShortFileName) VALUES (@a,@b,@c,@d,@e)";

cn.Open();

OleDbCommand cmd = new OleDbCommand(cmdText, cn);
cmd.Parameters.Add("@a", OleDbType.WChar).Value = username;
cmd.Parameters.Add("@b", OleDbType.WChar).Value = fullfilename;
cmd.Parameters.Add("@c ", OleDbType.DBTimeStamp).Value = now;
cmd.Parameters.Add("@d ", OleDbType.WChar).Value = mode;
cmd.Parameters.Add("@e ", OleDbType.WChar).Value = filename;

cmd.ExecuteNonQuery();

cn.Close();
1

There are 1 best solutions below

0
On

The problem is the backslash in the data source:

OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=J:\CADFileLogger.accdb");

Either put an @ in front of the connection string or escape the backspace:

OleDbConnection cn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=J:\CADFileLogger.accdb");