Дивно! Оновлення MySQL не працює без помилок

Нижче мій код для створення облікового запису в моєму проекті. Код працює досконалим до Response.Write (iduser) , але команда UPDATE не працює. Не було виявлено помилок за виключенням, але запис MySQL не оновлюється.

    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
Ні. Я не використовую UpdatePanel у цьому коді.
додано Автор Mad coder., джерело
Чи використовуєте ви з цим UpdatePanel? Якщо це так, видаліть його, поки не буде виправлена ​​помилка.
додано Автор rlb.usa, джерело

1 Відповіді

Я не впевнений у частині Response.Write , але я впевнений, що ви створите SQLCommand , але ніколи не виконуєте його.

Ви забули розмістити там cmd.executeNonScalar() ?

2
додано
Так! ти пишеш Я зараз знайшов, що мені не вистачає cmd.executenonquery , який я додав, і код працював нормально. Дякую.
додано Автор Mad coder., джерело
var chat = new Chat();
var chat = new Chat();
642 учасників

Обсуждение вопросов по C# / .NET / .NET Core / .NET Standard / Azure Сообщества-организаторы: — @itkpi — @dncuug