2016-06-02 17 views
1

このコードに従って質問があります。 VisualStudioはエラーや警告を表示しませんが、実行すると例外が発生します(「何か問題が発生しました」)。これは私がいつも前にやったことですが、どういうわけか今のところはいつも働いています。私は簡単なことを逃していますか?データベース接続C#

Exceptionの詳細な情報については
 protected void Page_Load(object sender, EventArgs e) 
    { 
     // Connect 
     OleDbConnection conn = new OleDbConnection(); 
     conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Users\royva\documents\visual studio 2013\Projects\CookieMultiView\CookieMultiView\App_Data\Databank.mdb';Persist Security Info=True"; 
     // Execute 
     OleDbCommand cmd = new OleDbCommand(); 
     cmd.Connection = conn; 
     cmd.CommandText = "SELECT * FROM teachers = ?";// + Request.QueryString["id"]; 
     lbl.Text = ""; 

     cmd.Parameters.AddWithValue("id",Request.QueryString["id"]); 


     // Read 
     try 
     { 
      conn.Open(); 
      OleDbDataReader reader = cmd.ExecuteReader(); 
      while (reader.Read()) 
      { 
       lbl.Text = reader["teacherid"].ToString(); 
      } 
     } 
     catch (Exception ex) 
     { 
      //lbl.Text = ex.StackTrace;     
      lbl.Text = "Something went wrong."; 
     } 
     finally 
     { 
      conn.Close(); 
     } 
+1

'lbl.Text ="何か問題がありました ";を削除してから、' lbl.Text = ex.StackTrace; 'にブレークポイントを置き、ステップスルーします。また、あなたはパラメータ 'id'を追加していますが、それはあなたの選択したクエリにはありません – Izzy

+2

commandTextを確認してください: cmd.CommandText =" SELECT * FROM teachers where id =? " – Bambuk

+1

'lbl.Text ="何かが間違っていました ";' '行にブレークポイントを置き、実際の例外が何であるかを見てください。現時点では、100の問題のいずれかになる可能性があります。 – jitendragarg

答えて

1

catch (Exception ex) 
{ 
    //Either you can write log or display in label 
    lbl.Text = ex.Message; 
} 

はまた、特定のファイルがFile.Exists(path)を使用するために示すbooleanを返すなる、チェックするためにプログラム

Data Source='C:\Users\royva\documents\visual studio 2013\Projects\CookieMultiView\CookieMultiView\App_Data\Databank.mdb' 

のフォルダのアクセス権を確認しますパス上のファイルが存在するかどうか。

接続が確立されているかどうかを検証します。

+0

これはローカルデータベースであり、データベースはビジュアルスタジオ経由でそこに格納されます。 ex.messageのヒントに「1つ以上の必須パラメータに値が指定されていません」というエラーが表示されます。これは私を助ける!ありがとう:) –

+0

それは確かに接続、何とかデータベースは読み取り専用です。それは今働いて!乾杯! –

+0

@RoyvanderPlasをよく聞く:) – SSJGSS

関連する問題