Oledb Prameterized Query Question

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • babai28
    New Member
    • Jul 2008
    • 59

    Oledb Prameterized Query Question

    Hi,
    I am running the following code but it is giving an "Syntax error in insert statement" error
    Considering detCon to be my connectionStrin g.

    Code:
    OleDbCommand icmd = detCon.CreateCommand();
    icmd.CommandText = "insert into Details_Table (Account,Number) values (?,?)";
    OleDbParameter p1 = new OleDbParameter();
    OleDbParameter p2 = new OleDbParameter();
    icmd.Parameters.Add(p1);
    icmd.Parameters.Add(p2);
    p1.Value = "2";
    p2.Value = "3";
    detCon.Open();
    icmd.ExecuteNonQuery();
    However if I run the same code for a single parameter i.e.

    Code:
    OleDbCommand icmd = detCon.CreateCommand();
    icmd.CommandText = "insert into Details_Table (Account) values (?)";
    OleDbParameter p1 = new OleDbParameter();
    icmd.Parameters.Add(p1);
    p1.Value = "2";
    detCon.Open();
    icmd.ExecuteNonQuery();
    Its Working!
    Can someone please point out my mistake??

    Regards,
    Sid
  • babai28
    New Member
    • Jul 2008
    • 59

    #2
    Hi,
    I found out the problem! The columns names to be included in square brackets for string type variables:

    Code:
    OleDbCommand icmd = detCon.CreateCommand();
    icmd.CommandText = "insert into Details_Table ([Account],[Number]) values (?,?)";
    OleDbParameter p1 = new OleDbParameter();
    OleDbParameter p2 = new OleDbParameter();
    icmd.Parameters.Add(p1);
    icmd.Parameters.Add(p2);
    p1.Value = "2";
    p2.Value = "3";
    detCon.Open();
    icmd.ExecuteNonQuery();
    Thanks if anybody read this.

    Regards,
    Sid

    Comment

    Working...