加载数据库以在c#中列出

本文关键字:数据库 加载 | 更新日期: 2023-09-27 18:00:40

我正在查询一个数据库,想知道是否有办法将结果加载回列表中。我目前知道如何从数据库中获取信息的唯一方法是在数据表中。我总是可以将它放入数据表中,然后循环数据表中的行并将它们添加到列表中。但是,有没有一种方法可以直接将查询结果输入到列表中?这是我的代码:

OleDbCommand command= new OleDbCommand("SELECT ID, GRADE, PHONE from database WHERE PHONE=123456", conn);
conn.Open();
dt.Load(command.ExecuteReader());
conn.Close();

结果应该是表单的列表条目(id、等级、电话):

61265,95123456

感谢

加载数据库以在c#中列出

考虑您有一个类

public ListData()
{
  public int Id{get;set;} //Assuming DB field is int
  public string Grade{get;set;}  //Assuming DB field is a string
  public string PhoneNo{get;set;} //Assuming DB field is a string
}

然后您可以执行以下操作:

list<ListData> theList =(from item in dt.AsEnumerable()
                         Select new ListData()
                              {
                                 Id= (int)item["ID"],
                                 Grade = (string)item["GRADE"],
                                 PhoneNo = (string)item["PHONE"]
                              }
                        ).ToList()

注意:

1.我只是在评论文本框中键入它,所以如果你只是复制粘贴代码,可能会有一些错误

2.如果GRADE/PHONE

上有空值,您还需要处理

看看这个问题。

您可以使用表适配器,例如

DataSet mSet = new DataSet();
OleDbTableAdapter mAdapter = new OleDbTableAdapter(myOleDbCommand); 
mAdapter.Fill(mSet); 
myOleDbCommand.Connection.Close();