Ciudat! Actualizarea MySQL nu funcționează fără eroare

Mai jos este codul meu pentru a crea un cont în proiectul meu. Codul funcționează perfect până la Response.Write (iduser) , dar comanda UPDATE nu funcționează. Nu a fost găsită nicio eroare prin excepție, dar înregistrarea MySQL nu este actualizată.

    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);
            }
0
Nu. Nu folosesc UpdatePanel în acest cod.
adăugat autor Mad coder., sursa
Utilizați un updatePanel cu acest lucru? Dacă da, eliminați-l doar până când vă rezolvați problema.
adăugat autor rlb.usa, sursa

1 răspunsuri

Nu sunt sigur de partea Response.Write , dar sunt sigur că creați un SQLCommand , dar nu îl executați niciodată.

Ați uitat să plasați un cmd.executeNonScalar() acolo?

2
adăugat
Da! esti scris. Doar acum am constatat că am lipsit cmd.executenonquery Am adăugat-o și codul a lucrat bine. Mulțumiri.
adăugat autor Mad coder., sursa
MySQL - comunitatea Română
MySQL - comunitatea Română
12 participanți

Comunitatea română a programatorilor MySQL.