C# 将数据表转换为我的列表<;T>;
C# 将数据表转换为我的列表<;T>;,c#,sqlite,xamarin,C#,Sqlite,Xamarin,DataTable tb=newdatatable()至列表对象列表=新列表 想法就在这里,但是forceach中的dt有一个错误(dt中的var obj) 执行读取器 阅读课程 创建类实例 将这些实例收集到列表中 像这样的 foreach (var obj in dt) { var item = new Details(); item.ID = obj.ID;
DataTable tb=newdatatable()编码>至列表对象列表=新列表
想法就在这里,但是forceach中的dt有一个错误(dt中的var obj)
执行读取器
阅读课程
创建类实例
将这些实例收集到列表中
像这样的
foreach (var obj in dt)
{
var item = new Details();
item.ID = obj.ID;
item.Dosage = obj.Dosage;
item.Drug = obj.Drug;
item.Patient = obj.Patient;
item.Date = obj.Date;
results.Add(item);
}
//用于从查询中收集记录的列表
列表=新列表();
...
cmd.CommandText=sql;
//完成:执行读卡器;将IDisposable包装为使用
使用(SqliteDataReader rdr=cmd.ExecuteReader()){
//完成:读取每个游标的记录
while(rdr.Read()){
//完成:将每个记录转换为MyClass实例
MyClass项=新的MyClass();
//TODO:分配属性
item.Property1=转换为字符串(rdr[0]);
item.Property2=转换为32(rdr[1]);
...
//完成:最后,将创建的所有Intance收集到列表中
列表。添加(项目);
}
}
...
Convert究竟如何转换?将所有值从datable传递到objectlist那么您尝试了什么?详细信息的字段是什么?数据表的字段是什么?详细信息有自己的类,属性Id、剂量、药物、患者和日期,数据表从我的选择查询select*from Details中获取其所有值;转换在很大程度上取决于数据库表数据类型,您缺少表scructure的信息。顺便说一句,xamarin标签看起来与您的问题无关。您是男性,您是如何键入这些内容的?:)
foreach (var obj in dt)
{
var item = new Details();
item.ID = obj.ID;
item.Dosage = obj.Dosage;
item.Drug = obj.Drug;
item.Patient = obj.Patient;
item.Date = obj.Date;
results.Add(item);
}
// List which will be used to collect records from the query
List<MyClass> list = new List<MyClass>();
...
cmd.CommandText = sql;
//DONE: execute reader; wrap IDisposable into using
using (SqliteDataReader rdr = cmd.ExecuteReader()) {
//DONE: read each cursor's record
while (rdr.Read()) {
//DONE: Turn each record into MyClass instance
MyClass item = new MyClass();
//TODO: Assign properties
item.Property1 = Convert.ToString(rdr[0]);
item.Property2 = Convert.ToInt32(rdr[1]);
...
//DONE: Finally, collect all the intances created into the list
list.Add(item);
}
}
...