0

向大家问好!

这是我第二次遇到相当大的问题,希望溢出的社区来救援!

好吧,开始吧:我有这个程序,我在其中连接到一个 microsoft 数据库 (Access 2003)。当我调试它时,一切正常。我可以很好地访问它并恰到好处地向它添加数据。

        int val = 0;
        int ok = 1;
        do
        {



            try
            {

                OleDbCommand cmd = new OleDbCommand();
                {
                    cmd.Connection = Variables.con;
                    cmd.CommandText = "Select * from users";
                    using (OleDbDataReader dr = cmd.ExecuteReader())
                    {

                        while (dr.Read())
                        {
                            if (dr["us_name"].ToString() == usnT.Text)
                            {
                                ok = 0;
                                break;
                            }
                        }

                    }
                }
                if (ok == 0)
                {
                    MessageBox.Show("Username already taken");
                    break;
                }
                if (usnT.Text != "" && pswdT.Text != "" && ok == 1)
                {

                    pswdT.Text = pswdT.Text.ToLower();
                    string vsql = string.Format("insert into users values({0},'{1}',{2},'{3}','{4}')", id, usnT.Text, val, val, pswdT.Text);
                    OleDbCommand vcom = new OleDbCommand(vsql, Variables.con);
                    vcom.ExecuteNonQuery();
                    MessageBox.Show("success");
                    vcom.Dispose();
                }
                break;

            }
            catch
            {
                id++;
            }
        } while (true);

但是,在我使用 InstallShield 部署它之后,除了上面的代码之外,该应用程序运行良好。每当我尝试向数据库添加新帐户时,它都会崩溃。

感谢您抽出宝贵时间,希望您能帮我解决这个问题。我个人认为这很困难,但我仍然是初学者......谢谢!

4

1 回答 1

0

假设您可以将程序集安装在与 Visual Studio 相同的 PC 上:

将 PDB 文件复制到与生成的程序集相同的位置。使用 Visual Studio 附加到进程。设置断点。然后,您应该对问题出在哪里以及问题有一个更好的了解。

如果不能在同一台PC上安装,那么可以考虑远程调试(http://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx

远程调试非常棘手,因此您还可以显示引发的任何异常的所有内容。错误消息和堆栈跟踪可能会为您提供所需的所有信息。

于 2012-04-30T16:04:32.873 回答