728x90

C# 에서 MySQL 등 DB에 있는 자료를 ListView 에 가져오는 소스코드다.

읽어온 자료는 R.GetString(0) 부터 나온다.

가령 Select uid, id, name, email FROM 테이블명;

이라고 할 경우 R.GetString(0) 는 uid 칼럼이고, R.GetString(1) 은 id, R.GetString(2) 는 name, R.GetString(3) 은 email 칼럼이다.

listView 에 자료를 추가하는 것에 대해 이해하고자 하면 listView 기능 분석 게시글을 참조하면 도움된다.


private void listView1Table()
{
    myConn = new MySqlConnection(ConnectionString);
    try
    {
        myConn.Open();

        string strqry = "select * from items ";
        if (searchBox.Text.Trim().Length > 0)
        {
            strqry += "where Quantity='" + searchBox.Text.Trim() + "' ";
        }
        strqry += "order by uid";

        MySqlCommand cmd = new MySqlCommand(strqry, myConn);
        cmd.CommandType = CommandType.Text;
        MySqlDataReader R = cmd.ExecuteReader();

        listView1.Items.Clear();
        if (R.HasRows)
        {
            int i = 0;
            while (R.Read())
            {
                i = i + 1;
                ListViewItem lvt = new ListViewItem();
                lvt.SubItems.Add(i.ToString());
                lvt.SubItems.Add(R["uid"].ToString());
                lvt.SubItems.Add(R.GetString(1));
                lvt.SubItems.Add(R.GetString(2));
                lvt.SubItems.Add(R.GetString(3));
                lvt.SubItems.Add(R.GetString(4));
                listView1.Items.Add(lvt);
            }
            lvt1totalcnt.Text = "총 " + i.ToString() + " Row";
        }
        else
        {
            MessageBox.Show("데이터가 없습니다");
        }
        R.Close();
        SetHeight(listView1, 20);  // 행높이 지정 --> 사용자 정의 함수로 없어도 된다. 다른 게시글 참조하면 나옴
        listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
        myConn.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }           
}




블로그 이미지

Link2Me

,