2012-04-30 11 views
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で展開した後、上記のコードを除いてアプリケーションは完全に正常に動作します。データベースに新しいアカウントを追加しようとすると、クラッシュします。

ありがとうございました。この問題のトラブルシューティングをお手伝いしていただければ幸いです。私は個人的にそれはかなり厳しいと思うが、私はまだ初心者です...ありがとう!あなたは、Visual Studioと同じPC上でアセンブリをインストールすることができますと仮定

+0

エラーメッセージはありますか? – BNL

+1

疑問に思うことはありませんが、カウンタをインクリメントするcatchステートメントですべてが包まれているとしますか? – KingCronus

+0

このコードを使って達成しようとしていることは何ですか? – KingCronus

答えて

0

コピー建てアセンブリと同じ場所にPDBファイル。 Visual Studioを使用してプロセスにアタッチします。ブレークポイントを設定します。それでは、どこに問題があるかについて、より良いアイデアがあるはずです。

あなたが同じPCにインストールすることができない場合は、リモートデバッグを考慮することができる(http://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx

リモートデバッグは非常にトリッキーなので、その代わりに、あなたも上げていますすべての例外のすべての内容を表示できます。エラーメッセージとスタックトレースは、おそらく必要なすべての情報を提供します。

関連する問題