是否可以自动检索数据库中的数据

本文关键字:数据 数据库 自动检索 是否 | 更新日期: 2023-09-27 18:23:59

到目前为止,我使用列表视图首先检索数据并将其放入指定的文本框中,我想要的是,当我检索或搜索数据时,它将自动以表单的形式放入其指定的文本盒中

private void btnretrieve_Click(object sender, EventArgs e)
{
        con.Open();
        SqlCommand cmd = new SqlCommand("Select * from Information", con);
        SqlDataAdapter dta = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        dta.Fill(dt);
        con.Close();
        lvwcontacts.Items.Clear();
        for (int index = 0; index < dt.Rows.Count; index++)
        {
            lvwcontacts.Items.Add(dt.Rows[index]["CONTACT_ID"].ToString());
            lvwcontacts.Items[index].SubItems.Add(dt.Rows[index]["CONTACT_NAME"].ToString());
            lvwcontacts.Items[index].SubItems.Add(dt.Rows[index]["CONTACT_ADDRESS"].ToString());
            lvwcontacts.Items[index].SubItems.Add(dt.Rows[index]["CONTACT_NO"].ToString());
}

是否可以自动检索数据库中的数据

有了ListView,您将无法做到这一点。然而,另一种方法可能是这样的:

lvwcontacts.Items.AddRange(
    from r in dt.Select()
    select new ListViewItem(r.ItemArray.Cast<string>().ToArray())
);

但是,您还需要将SELECT语句更改为:

Select CONTACT_ID, CONTACT_NAME, CONTACT_ADDRESS, CONTACT_NO from Information

您可以将结果放入一个类中。首先,您需要创建一个联系人类。

Class Contact
{
    '.. containing ID, Name, Address, No
}

然后我建议你把所有的逻辑都拉出来,放到一个函数中。在那里,您将填充对象列表,而不是填充列表视图。

Public List<Contact> GetContacts()
{
    List<Contact> contactList = new List<Contact>();
    con.Open();
        SqlCommand cmd = new SqlCommand("Select * from Information", con);
        SqlDataAdapter dta = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        dta.Fill(dt);
        con.Close();

    for (int index = 0; index < dt.Rows.Count; index++)
    {
        Contact newContact = new Contact();
        newContact.ID = dt.Rows[index]["CONTACT_ID"];
        newContact.Name = dt.Rows[index]["CONTACT_NAME"];
        newContact.Address = dt.Rows[index]["CONTACT_ADDRESS"];
        newContact.NO = dt.Rows[index]["CONTACT_NO"];
        contactList.Add(newContact);
    }
    return contactList;
}

然后,您可以将列表中的数据放在任何您想要的位置。

*我还没有编译代码。