2012-02-16 7 views
0

데이터 세트에 연결된 datagridview를 만들었습니다. 데이터 세트 자체는 많은 기록을 가지고 있습니다. 하지만 디버깅 할 때 그리드는 아무 것도 표시하지 않습니다. 불과 며칠 전부터이 프로그램이 잘 작동하기 때문에 자극적입니다. 그 문제에 대한 코드 나 파일을 수정하지 않았습니다. 며칠 동안 프로젝트를 여는 순간부터 잠깐 쉬었습니다. 다시 열어 보니, 이전처럼 잘 돌아 가지 않았습니다.내 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

걱정하지 마십시오. 나는 그것을 고쳤다. 연결 문자열이 janked했다. 그걸 모를거야? –

답변

0

1 - 통합 보안 = SSPI를 넣으려고 했습니까?

2 - MaxRows = custMaster.Tables [ "custMaster"]. Rows.Count; 얼마나 많은 행을 통해 UR datatable 반환을 참조하십시오?

3 - DataGrid가 비어 있거나 그냥 비어있는 오류가 있습니까? 디버거를 실행 해 보셨습니까?

+0

1-No. 하지만 그게 어떻게 문제인지 나는 모르겠다. 나는 그 중 하나를 앞에 두지 않았고 여전히 효과가 있었다. 2-umm, sry하지만 다시 정확히 어떻게해야합니까? 3 개 오류가 없습니다. 난 그냥 프로그램을 실행하고 양식은 아무것도 표시하지 않습니다. –

+0

2 - msgbox (MaxRows) –

+0

nevermind를 표시하면됩니다. 나는 그것을 고쳤다. 연결 문자열이 janked했다. 그걸 모를거야? –

0

내 담당자가 충분히 높지는 않습니다 ... 어쨌든, 데이터 세트에 아직 데이터가 있고 datagridview에 며칠 전에 데이터가 표시되었지만 지금은 그렇지 않습니다. 이 경우 며칠 전에 왜 작동하는지 알 수 없지만 데이터 세트를로드 한 후에 datagridview를 새로 고칠 수 있습니다.

+0

네, 그게 정확히 문제입니다. 나는 어떤 코드도 편집하지 않았거나 디렉토리의 파일을 수정했다. –

+0

데이터 셋로드가 끝나면 dataviewgrid에서'Refresh()'함수를 호출하면 어떻게됩니까? 아마도 datagridview가 생성 된 것보다 다른 스레드에서 발생하고 있기 때문에 datagridview가로드되는 데이터 세트를 인식하지 못하고 있는지 궁금합니다. 그냥 이론. – Poosh

+0

nevermind. 나는 그것을 고쳤다. 연결 문자열이 janked했다. 그걸 모를거야? 하지만 우리가이 주제를 다루고 있기 때문에 런타임에 새 레코드를 배치 한 후 refresh 명령이 DataGrid를 업데이트합니까? 즉, 런타임에 새 레코드를 추가 할 때마다 즉시 DataGrid를 업데이트하지 않습니다. 실행을 닫은 다음 다시 실행하여 새 레코드를 확인해야합니다. 그냥 궁금해. –

관련 문제