从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实例?

从sql中分析对象

是的,您可以

它的作用非常简单。试试这个:

//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