2013-03-16 2 views
0

ms 액세스 데이터베이스에서 내 목록 상자로 데이터를로드하는 winform 프로그램을 만듭니다. 내가 데이터베이스 및 데이터베이스에서 내 목록 상자에서 업데이트하고 업데이트 버튼을 클릭하고 싶을 때 내 아이템을 클릭하면 아이템이 처음 클릭하면 업데이트되지 않지만 두 번째 것은 (동일한 아이템에 대해) 업데이트 할 때마다 수정할 필요가 있습니다. 내 데이터 내 항목을 선택하고 업데이트 버튼을 두 번 클릭해야합니다. 내 목록 상자에 텍스트 상자 ListBox 데이터 소스가 첫 번째 클릭시 업데이트되지 않습니다.

  • 클릭 항목에 데이터 바인딩과 목록 상자에

    1. 로드 데이터 및 텍스트 상자에서 데이터를 수정
    2. 을 클릭 : 그

      private void buttonUpdate_Click(object sender, EventArgs e) 
          { 
           //update the database 
           OleDbDataAdapter cmd = new OleDbDataAdapter(); 
           cmd.UpdateCommand = new OleDbCommand("UPDATE Item SET ITEM = @ITEM, ITEM_DESC = @ITEM_DESC WHERE ID = @ID",GetConnection()); 
           cmd.UpdateCommand.Parameters.AddWithValue("@ITEM", textBoxITEM.Text); 
           cmd.UpdateCommand.Parameters.AddWithValue("@ITEM_DESC", textBoxITEMDESC.Text); 
           cmd.UpdateCommand.Parameters.AddWithValue("@ID", Convert.ToInt32(textBoxID.Text)); 
           cmd.UpdateCommand.ExecuteNonQuery(); 
      
           // update the datasource 
           _productlist.Clear(); 
           listBox1.DataSource = null; 
           listBox1.Items.Clear(); 
           Fill(); 
           listBox1.Update(); 
          } 
      

      기본적인 것은 .. 롤 미친 짓이야 업데이트 버튼을 사용하여 데이터베이스 및 데이터 소스를 업데이트하십시오.

    3. 데이터 소스가 처음으로 업데이트되지 않지만 데이터베이스가 업데이트됩니다.
    4. 반복 2 번
    5. 반복 3 번
    6. 데이터 소스 업데이트

    내가 원하는 : 텍스트 상자

  • 클릭 항목에 대한 데이터 바인딩과 목록 상자에

    1. 로드 데이터를 내 목록 상자와 텍스트 상자에서 데이터 수정
    2. 데이터베이스 및 데이터 소스를 업데이트하려면 업데이트 버튼을 클릭하십시오.
    3. dat 소스 및 데이터베이스 업데이트

    내 응용 프로그램에서이 버그를 어떻게 해결합니까 ??

  • 답변

    0

    난 그냥이이

    // update the datasource 
    _productlist.Clear(); 
    listBox1.DataSource = null; 
    listBox1.Items.Clear(); 
    Fill(); 
    listBox1.Update(); 
    

    을 변경 .. 내가 더 명확 할 필요가 있다면 알려 주시기 바랍니다 ..

    // update the datasource 
    _productlist.Clear(); 
    listBox1.DataSource = null; 
    System.Threading.Thread.Sleep(500); 
    Fill(); 
    
    관련 문제