WEB开发网
开发学院数据库MySQL 孜孜不倦的程序员:SQLite 内幕 阅读

孜孜不倦的程序员:SQLite 内幕

 2010-09-08 00:00:00 来源:WEB开发网   
核心提示: 然后,该包装类的使用类似于图 4 中的示例,孜孜不倦的程序员:SQLite 内幕(6), 图 4 使用 SQLite 包装类 staticvoidNativeWrapperMain(){using(SQLitedb=newSQLite("persons.sqlite")){d

然后,该包装类的使用类似于图 4 中的示例。

图 4 使用 SQLite 包装类

static void NativeWrapperMain() 
 { 
  using (SQLite db = new SQLite("persons.sqlite")) 
  { 
   db.ExecuteNonQuery("CREATE Table Persons " + 
    "(first TEXT, last TEXT, age INTEGER)"); 
 
   db.ExecuteNonQuery("INSERT INTO Persons (first, last, age) " + 
    "VALUES ('Aaron', 'Erickson', 38)"); 
   db.ExecuteNonQuery("INSERT INTO Persons (first, last, age) " + 
    "VALUES ('Rick', 'Minerich', 29)"); 
   db.ExecuteNonQuery("INSERT INTO Persons (first, last, age) " + 
    "VALUES ('Talbott', 'Crowell', 35)"); 
 
   DataTable table = db.ExecuteQuery("SELECT * FROM Persons"); 
 
   foreach (DataRow row in table.Rows) 
   { 
    Console.WriteLine("{0} {1} {2}", row[0], row[1], row[2]); 
   } 
  } 
 }

很明显,有多个操作可添加到图 4 中的 SQLite 包装类,但现已得到必要的基本功能,这部分归功于 System.Data 中 DataTable/DataRow/DataColumn 核心类的出色的数据库无关性特性。

双重抽象

从某些方面说,SQLite 数据库的优势就在于其底层设计和实施,但成为嵌入式数据库意味着在利用其非常轻型的功能时会存在“冲突”。 添加包装类,确保 SQLite DLL 位于可供程序访问的位置(通常将其放入包含可执行文件的目录),现在您就可以十分成功地编写 SQL 语句。 当然,您确定自己确实要这样做。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:孜孜不倦 程序员 SQLite

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接