0

hello can somebody check my query cause i'm having a hard time working on it., i need to insert data on my database when i process it tells syntax error in Insert into statement pls. help thnx

try
                {
                    OleDbCommand cmdSave = new OleDbCommand();
                    cmdSave.Connection = cls_DB.cn;
                    cmdSave.CommandText = "insert into tblMember(Std_ID,Last_N,First_N,Mid_N,Level,Section) values (?,?,?,?,?,?)";
                    cmdSave.Transaction = Tran;
                    cmdSave.Parameters.Add("@Std_ID", OleDbType.VarChar).Value = this.txtStud_ID.Text;
                    cmdSave.Parameters.Add("@Last_N", OleDbType.VarChar).Value = this.txtLast_N.Text;
                    cmdSave.Parameters.Add("@First_N", OleDbType.VarChar).Value = this.txtFirst_N.Text;
                    cmdSave.Parameters.Add("@Mid_N", OleDbType.VarChar).Value = this.txtMid_N.Text;
                    cmdSave.Parameters.Add("@Level", OleDbType.VarChar).Value = this.cmbLevel.Text;
                    cmdSave.Parameters.Add("@Section", OleDbType.VarChar).Value = this.txtSection.Text;

                    cmdSave.ExecuteNonQuery();
                    cmdSave.Parameters.Clear();
                    cmdSave.Dispose();
                    Tran.Commit();
                    cls_Function.setMessageBox("Data Edited Successfuly", 1);

                }
                catch (Exception exp)
                {
                    Tran.Rollback();
                    cls_Function.setCreateError(exp.Message);

                }
                finally
                {
                    if (this.cls_DB.cn != null) this.cls_DB.cn.Close();
                }
3
Contributors
3
Replies
4
Views
5 Years
Discussion Span
Last Post by Mitja Bonca
0

- Insert statement should be:

cmdSave.CommandText = "insert into tblMember(Std_ID,Last_N,First_N,Mid_N,Level,Section) values (@Std_ID,@Last_N,@First_N,@Mid_N,@Level,@Section)";

- You don't have to write explicity which data type is parameter (in some cases you must - very rare), and when you add parameter to SqlCommand there should be no '@' sign.

cmdSave.Parameters.Add(new SqlParameter("Std_ID", this.txtStud_ID.Text));
cmdSave.Parameters.Add(new SqlParameter("Last_N", this.txtLast_N.Text));
cmdSave.Parameters.Add(new SqlParameter("First_N", this.txtFirst_N.Text));
cmdSave.Parameters.Add(new SqlParameter("Mid_N", this.txtMid_N.Text));
cmdSave.Parameters.Add(new SqlParameter("Level", this.cmbLevel.Text;));
cmdSave.Parameters.Add(new SqlParameter("Section", this.txtSection.Text));

Advice

Use Trim() when inserting data into database.

Edited by jugosoft: n/a

0

sir i allready follow your command but another error come up sqlparameter is not required to use in ole command how is it?

0

I assume you are dealing with Access database, thats why you are trying to use question marks (???) when defining Values(in here), righ?
Correct way, only some part is missing.
You actually have to specifry the column names and not using question marks. Questio marks are only used in Update statement.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.