>source

아래 code를 사용하여 IMEI를 검색하고 Access db에서 데이터를 읽습니다. dataGridView에 표시하려면 여러 행을 검색하고 읽어야 하지만 한 번의 검색을 수행한 다음 오류가 발생합니다.

리더가 닫혀 있을 때 읽기를 호출하려는 시도가 잘못되었습니다.

루프나 다른 것이 누락되었습니까?

private void searchButton_Click(object sender, EventArgs e)
{
    conn1.Open();
    OleDbCommand cmd1= new OleDbCommand("Select ID, IMEI, TekNum, BatchNum, ICCID, IMSI from TBLTest1 where [email protected]", conn1);
    cmd1.Parameters.AddWithValue("@param1", txtScannedValue.Text);
    OleDbDataReader reader1;
    reader1= cmd1.ExecuteReader();
    DataTable dt= new DataTable();
    dt.Load(reader1);
    dataGridView1.DataSource= dt;
    //dataGridView1.DataBind();
    if (reader1.Read())
    {
        dataGridView1.Rows.Add();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["ID"].Value= reader1[0].ToString();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["DateTested"].Value= reader1[1].ToString();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["TekNum"].Value= reader1[2].ToString();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["BatchNum"].Value= reader1[3].ToString();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["WeekNum"].Value= reader1[4].ToString();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["Serial"].Value= reader1[5].ToString();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["PhoneNum"].Value= reader1[7].ToString();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["IMEI"].Value= reader1[8].ToString();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["ICCID"].Value= reader1[9].ToString();
        dataGridView1.Rows[dataGridView1.Rows.Count -1].Cells["IMSI"].Value= reader1[10].ToString();
    }

이미 dt.Load(reader1)를 수행했습니다. if (reader1.Read()) 블록이 필요하지 않습니다.

Chetan2022-01-17 15:04:43

컨트롤이 데이터 바인딩된 경우 오류를 제거하면 DataGridView 행 컬렉션에 Rows를 프로그래밍 방식으로 추가할 수 없습니다.

Elaine2022-01-17 15:09:39

어떤 오류가 발생합니까? 질문 자체에서 언급할 수 있습니까?

Chetan2022-01-17 15:11:40

if (reader1.Read()) 또는 전체 블록만 제거했습니까? if 블록 전체를 제거해야 합니다.

Chetan2022-01-17 15:13:11

일한 Chetan에게 감사합니다. 방금 오타가 있었습니다.

Elaine2022-01-17 15:29:59
  • 이전 javascript : REACT에서 스타일이 지정된 구성 요소를 반복하면 "구성 요소에 대해 200개 이상의 클래스가 생성되었습니다"라는 경고가 생성됩니다.
  • 다음 반응 네이티브를 표시하지 않는 소개 슬라이더 이미지