实现最简WP7本地数据库的实例方法

Windows Phone 7 (WP7) 平台上开发应用时,存储数据以便离线或多次使用访问是一种常见需求。在这种情况下,本地数据库是理想选择。本教程将带你了解如何在WP7中集成SQLite数据库,即使没有MVVM(Model-ViewModel)架构的深入知识。

1. 安装SQLite for WP7

要开始在WP7中使用本地数据库,需要在项目中添加SQLite库。通过NuGet包管理器搜索并安装SQLite.WP80

2. 创建数据库表

在代码中定义数据库表结构。以下示例创建一个名为Contacts的表,包含IdNamePhoneNumber字段:

string sql = "CREATE TABLE Contacts (Id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT, PhoneNumber TEXT)";
SQLiteCommand createTableCmd = new SQLiteCommand(sql, dbConnection);
createTableCmd.ExecuteNonQuery();

3. 数据库连接的打开和关闭

在应用程序中,需要在适当时候打开和关闭数据库连接,以确保资源得到正确管理:

var dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Database.db3");
SQLiteConnection dbConnection = new SQLiteConnection(dbPath);
// 执行数据库操作...
dbConnection.Close();

4. 插入数据

使用SQLiteCommand对象的ExecuteNonQuery方法将数据插入表中:

string insertSql = "INSERT INTO Contacts (Name, PhoneNumber) VALUES (@Name, @Phone)";
SQLiteCommand insertCmd = new SQLiteCommand(insertSql, dbConnection);
insertCmd.Parameters.AddWithValue("@Name", "张三");
insertCmd.Parameters.AddWithValue("@Phone", "138000");
insertCmd.ExecuteNonQuery();

5. 查询数据

使用ExecuteReader方法执行查询,并遍历结果集以获取数据:

SQLiteCommand selectCmd = new SQLiteCommand("SELECT * FROM Contacts", dbConnection);
SQLiteDataReader reader = selectCmd.ExecuteReader();
while (reader.Read()) {
    int id = reader.GetInt32(0);
    string name = reader.GetString(1);
    string phone = reader.GetString(2);
    Console.WriteLine($"ID: {id}, Name: {name}, Phone: {phone}");
}
reader.Close();

6. 更新和删除数据

更新和删除操作与插入类似,只是需要使用不同的SQL命令(UPDATEDELETE)。

7. 使用MVVM模式(可选)

在WP7开发中推荐使用MVVM模式。模型(Model)负责数据处理,视图模型(ViewModel)作为模型和视图(View)之间的桥梁。尽管本教程简化了此部分,但实际应用中结合MVVM会使代码更清晰、易于维护。

8. 异常处理

确保使用try-catch块来捕获并处理异常,如数据库连接失败或文件不存在等情况。

通过上述步骤,你可以在WP7应用中创建一个简单的本地数据库实例。在理解WP7和SQLite开发后,可逐步添加事务处理、索引和关系等更复杂功能以满足高级需求。

rar 文件大小:75.19KB