从sql中分析对象
本文关键字:对象 sql | 更新日期: 2023-09-27 18:29:39
我已经创建了表,并在其中放入了几行。有没有办法从表中解析我自己的对象?
class Human
{
string name;
int age;
public Human(string name, int age)
{
this.name = name;
this.age = age;
}
}
-- create table
string sql = "create table human (name varchar(20), age int)";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
-- insert sample data
string sql = "insert into human (name, age) values ('John', 20)";
command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
-- get the data back from that table
string sql = "select * from human";
command = new SQLiteCommand(sql, m_dbConnection);
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
现在,我如何解析来自阅读器的Human
实例?
是的,您可以
它的作用非常简单。试试这个:
//Create Collection of Human to store the values
List<Human> Humans = new List<Human>();
while (reader.Read())
{
//Create Human Object from Sql Reader
Human h=new Human(reader.getString(0),reader.getInt(1));
//Add the object to collection
Humans.add(h);
}
人类将拥有你得到的所有人类对象作为行。
是的,有一种方法。我建议使用实体框架,它本质上允许您将代码中的类型绑定到数据库中的表。
对于SQLite,这里有几个链接可以让你开始:
http://www.bricelam.net/2012/10/entity-framework-on-sqlite.html
http://erikej.blogspot.co.uk/2014/11/using-sqlite-with-entity-framework-6.html