C# 使用install shield部署后,应用程序在特定点崩溃
向你们大家问好 这是我第二次遇到相当大的问题,希望溢出的comunity在这里救援 好的,首先: 我有一个连接到microsoft数据库(Access 2003)的程序。当我调试它时,一切正常。我可以很好地访问它,并向它添加数据C# 使用install shield部署后,应用程序在特定点崩溃,c#,database,ms-access,installshield,C#,Database,Ms Access,Installshield,向你们大家问好 这是我第二次遇到相当大的问题,希望溢出的comunity在这里救援 好的,首先: 我有一个连接到microsoft数据库(Access 2003)的程序。当我调试它时,一切正常。我可以很好地访问它,并向它添加数据 int val = 0; int ok = 1; do { try { OleDbCommand cmd = new
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部署它之后,除了上面的代码外,该应用程序工作得非常好。每当我尝试向数据库添加新帐户时,它都会崩溃
谢谢您的时间,我希望您能帮助我解决这个问题。我个人认为这很难,但我还是初学者。谢谢大家! 假设您可以在与Visual Studio相同的PC上安装程序集: 将PDB文件复制到与生成部件相同的位置。使用Visual Studio附加到进程。设置一个断点。那么你应该更好地了解问题出在哪里,出在什么地方
如果不能安装在同一台PC上,则可以考虑远程调试()
远程调试相当棘手,因此您还可以显示引发的任何异常的所有内容。错误消息和堆栈跟踪可能会为您提供所需的所有信息。如果整个过程都包含在一个catch语句中,而该语句只增加了一个计数器,那么肯定会有错误消息和堆栈跟踪。这段代码的具体目的是什么?请使用自动编号字段,而不是try…catch。没有错误消息,没有。至于我想实现什么:我想向我部署的mdb文件添加一个新帐户,并警告您的代码容易受到sql注入攻击!