我正在尝试处理来自SQLiteDataReader
的输出,我一方面想知道为什么我无法在阅读器上调用Take<>
扩展方法(显然那里) sa System.Data.SQLite.Linq
汇编),另一方面,如果有更好的方法来处理整个读者的结果,我计划为那些人实现通用的CRUD方法。
using (var con = new SQLiteConnection(str.ConnectionString))
{
con.Open();
using (var cmd = new SQLiteCommand(sql, con))
{
using (SQLiteDataReader data = cmd.ExecuteReader())
{
if (data.HasRows)
{
var txt = new StringBuilder();
while (data.Read())
{
for (int i = 0; i < data.FieldCount; i++)
{
txt.AppendFormat("{0} ", data.GetValue(i));
}
txt.AppendLine(Environment.NewLine);
}
Console.WriteLine(txt.ToString());
}
data.Close();
}
}
con.Close();
}
为了使扩展方法起作用,我尝试了类似的方法:
txt.AppendFormat("{0} ", Convert.ToString(data.GetValue(i)).Take(10));
但字符串会填充类型。
任何建议都将受到赞赏。非常感谢。