Mad coder.
Mad coder.

Reputation: 2175

Strange! MySQL update not working without error

The below is my code to create account in my project. The code is working perfect till Response.Write(iduser) but the UPDATE command is not working. No error found using exception but MySQL's record is not updated.

    try
                {

                    string pet1 = "[email protected]";
                    string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" + "DATABASE=newtest;" + "UID=root;" + "PASSWORD=**********;" + "OPTION=3";
                    OdbcConnection MyConnection = new OdbcConnection(MyConString);
                    OdbcCommand cmd = new OdbcCommand("Select id_user from awm_accounts where email=?", MyConnection);
                    cmd.Parameters.Add("@val1", OdbcType.VarChar, 255).Value = pet1;
                    MyConnection.Open();
                    OdbcDataReader dr = cmd.ExecuteReader();
                    if (dr.HasRows == false)
                    {
                        throw new Exception();
                    }
                    if (dr.Read())
                    {
                        int iduser = Convert.ToInt32(dr[0].ToString());
                        Account acct = new Account();
                        acct.Email = username.Text + domain.Text;
                        acct.MailIncomingLogin = username.Text + domain.Text;
                        acct.MailIncomingHost = "imap." + DropDownList1.SelectedValue;
                        acct.MailIncomingPassword = password.Text;
                        acct.MailIncomingPort = 993;
                        acct.MailOutgoingHost = "smtp." + DropDownList1.SelectedValue;
                        acct.MailOutgoingPort = 465;
                        acct.MailIncomingProtocol = IncomingMailProtocol.Imap4;
                        acct.MailOutgoingAuthentication = true;
                        acct.DefaultAccount = false;
                        acct.IDUser = 1;
                        integr.CreateUserFromAccount(acct);
                        Response.Write(iduser);
                        if (!IsPostBack)
                        {
                            cmd = new OdbcCommand("UPDATE awm_accounts SET id_user=? WHERE email=? ", MyConnection);
                            cmd.Parameters.Add("@tb_nickname", OdbcType.Int, 11).Value = iduser;
                            cmd.Parameters.Add("@tb_fullname", OdbcType.VarChar, 255).Value = username.Text + domain.Text;
cmd.ExecuteNonQuery();
                        }
                    }
                    MyConnection.Close();
                }
            catch (Exception exp)
            {
                Response.Write(exp);
            }

Upvotes: 0

Views: 259

Answers (1)

rlb.usa
rlb.usa

Reputation: 15041

I'm not sure about the Response.Write part but I am sure that you create a SQLCommand but never actually execute it.

Did you forget to put a cmd.executeNonScalar() in there?

Upvotes: 2

Related Questions