皆様へのご挨拶!インストールシールド付きで展開した後、ある時点でアプリがクラッシュする
これは私がかなり大きな問題に遭遇した二度目のことであり、うまくいってオーバーフローのコミュニティーが救助のためにここにあります!
これを始めるようにしてください: 私は、このプログラムで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で展開した後、上記のコードを除いてアプリケーションは完全に正常に動作します。データベースに新しいアカウントを追加しようとすると、クラッシュします。
ありがとうございました。この問題のトラブルシューティングをお手伝いしていただければ幸いです。私は個人的にそれはかなり厳しいと思うが、私はまだ初心者です...ありがとう!あなたは、Visual Studioと同じPC上でアセンブリをインストールすることができますと仮定
エラーメッセージはありますか? – BNL
疑問に思うことはありませんが、カウンタをインクリメントするcatchステートメントですべてが包まれているとしますか? – KingCronus
このコードを使って達成しようとしていることは何ですか? – KingCronus