2012-02-16 14 views
0

私はデータセットに接続されたdatagridviewを作成しました。データセット自体にはたくさんのレコードがあります。私はチェックしました。しかし、私がデバッグすると、グリッドは何も表示されません。これは2,3日前から、このプログラムはうまくいきましたので、刺激的です。私はその問題のためにコードやファイルを変更していません。私はちょうど2日間私のプロジェクトを開いてから休みを取った、そして、私が再びそれを開いたとき、それは前と同じようにうまくいっていない。ここで私が使用したコードです:私のdatagridviewはデータを表示していません

System.Data.SqlClient.SqlConnection con; //sweet connection object is created in this here line 
masterDataSet custMaster; //this creates an AWESOME database object 
System.Data.SqlClient.SqlDataAdapter da; //this sets up a data adapter named "da". kewl 
int MaxRows = 0; 
int inc = 0; 

private void Form1_Load(object sender, EventArgs e) 
{ 
    con = new System.Data.SqlClient.SqlConnection(); //name of the sweet connection object above 
    custMaster = new masterDataSet(); 
    con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\master.mdf;Integrated Security=True;User Instance=True"; //this tells windows where to find the database DORA STYLE 
    con.Open(); //this opens up the connection. I DON'T SAY? 
    MessageBox.Show("Database connection has been established succesfully."); 

    string sql = "SELECT * From custMaster"; 
    da = new System.Data.SqlClient.SqlDataAdapter(sql, con); 
    da.Fill(custMaster, "custMaster"); 
    MaxRows = custMaster.Tables["custMaster"].Rows.Count; 
    da.Update(custMaster, "custMaster"); 

    con.Close(); 
} 

、その後、データを入力するために、私は次のコードでフォームを作成しました。私はエラーがこの部分に存在していないと確信しているが、私はとにかくそれを入力します:

private void newCustbutton1_Click(object sender, EventArgs e) 
{   
    System.Data.SqlClient.SqlCommandBuilder cb; 
    cb = new System.Data.SqlClient.SqlCommandBuilder(da); 

    DataRow dRow = custMaster.Tables["custMaster"].NewRow(); 
    dRow[1] = a_newCust.Text; 
    dRow[2] = b_newCust.Text; 
    dRow[3] = c_newCust.Text; 
    dRow[4] = d_newCust.Text; 
    dRow[5] = e_newCust.Text.ToString(); 
    dRow[6] = f_newCust.Text; 
    dRow[7] = g_newCust.Text.ToString(); 
    if (radioButton1.Checked == true) 
    { 
     dRow[8] = radioButton1.Text; 
    } 
    else if (radioButton2.Checked == true) 
    { 
     dRow[8] = radioButton2.Text; 
    } 

    custMaster.Tables["custMaster"].Rows.Add(dRow); 

    MaxRows = MaxRows + 1; 
    inc = MaxRows - 1;  

    da.Update(custMaster, "custMaster");  

    MessageBox.Show("Customer succesfully added!"); 
} 

私はそれが私の接続をどうしているかなり確信しています。どんな助けも素晴らしいだろう!

+0

どのようなエラーが発生していますか...ブレークポイントを設定して実際にどこが失敗しているかを確認しようとしました。 – Rahul

+0

それを私が直した。結局のところ、接続文字列が詰まっていた。それはあなたがそれを知っていないでしょうか? –

答えて

0

1 - Integrated Security = SSPIを入力しようとしましたか?

2 - MaxRows = custMaster.Tables ["custMaster"]。Rows.Count;どのくらいの行のデータテーブルが返ってくるのか見てみましょうか?

3 - あなたはDataGridを取得しているか空でないというエラーはありますか?あなたはデバッガを実行しようとしましたか?

+0

1-No。しかし、私はそれがどのように問題であるか見ていない、私はどちらか前にその行を入れていない、それはまだ働いた。 2-um、sryですが、どうしたらもう一度やりますか? 3 - エラーはありません。私はちょうどプログラムを実行し、フォームは何も表示しません。 –

+0

2 - あなたはmsgbox(MaxRows) –

+0

のnevermindを表示することでそれを行うことができます。それを私が直した。結局のところ、接続文字列が詰まっていた。それはあなたがそれを知っていないでしょうか? –

0

私の担当者は十分ではありません...とにかく、データセットにはまだデータがあり、データグリッドビューは数日前にデータを表示していましたが、今はありません。これが当てはまる場合、私は数日前に動作する理由がわからず、現在はそうではありませんが、データセットをロードした後にdatagridviewをリフレッシュしてみてください。

+0

はい、それはまさに問題です。私はすべてのコードを編集していないか、ディレクトリ内のファイルを変更してそのようなことをしています。 –

+0

あなたのデータセットのロードの終わりに、あなたのdataviewgridで 'Refresh()'関数を呼び出すとどうなりますか?おそらくdatagridviewが作成されたものとは別のスレッドで発生しているので、datagridviewがロードされているデータセットを認識していないのではないかと思います。ただの理論。 – Poosh

+0

nevermind。それを私が直した。結局のところ、接続文字列が詰まっていた。それはあなたがそれを知っていないでしょうか?このトピックでは、実行時に新しいレコードに配置した後に、refreshコマンドでDataGridを更新しますか?つまり、実行時に新しいレコードを追加するたびに、DataGridはただちに更新されません。新しいレコードを見るためには、ランを閉じてからもう一度やり直す必要があります。ただ疑問に思う。 –

関連する問題