C#实战:SQLite数据库操作实例与教程
80 浏览量
更新于2024-09-05
收藏 71KB PDF 举报
"C#操作SQLite方法实例详解"
在C#编程中,SQLite是一种轻量级的关系型数据库管理系统,常用于移动应用开发和小型项目中。本文详细介绍了如何使用C#语言与SQLite进行有效的交互,包括连接、查询、插入和修改数据等核心操作。
首先,为了在C#中使用SQLite,开发人员需要导入`System.Data.SQLite`命名空间,这是通过以下代码实现的:
```csharp
using System.Data.SQLite;
```
接下来,我们创建两个关键的对象:`SQLiteConnection`用于建立数据库连接,`SQLiteCommand`用于执行SQL命令。在实例中,一个名为`conn`的`SQLiteConnection`对象被初始化,其字符串参数"DataSource=c:\\test.db"表示SQLite数据库文件的位置:
```csharp
private SQLiteConnection conn;
conn = new SQLiteConnection("DataSource=c:\\test.db");
conn.Open();
```
对于数据插入和更新,创建`SQLiteCommand`后,设置命令文本(CommandText)并调用`ExecuteNonQuery()`方法。例如,插入新用户数据:
```csharp
SQLiteCommand cmd;
cmd = conn.CreateCommand();
cmd.CommandText = "INSERT INTO user (email, name) VALUES ('email', 'name')";
cmd.ExecuteNonQuery();
// 更新数据
cmd.CommandText = "UPDATE user SET name='Codelicious' WHERE ID=1";
cmd.ExecuteNonQuery();
```
查询数据时,同样使用`SQLiteCommand`,设置查询语句(如获取user表中的ID和name),然后使用`ExecuteReader()`获取`SQLiteDataReader`,以便遍历结果集:
```csharp
cmd.CommandText = "SELECT ID, name FROM user";
SQLiteDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
Console.WriteLine("ID: " + reader.GetInt16(0));
Console.WriteLine("name: " + reader.GetString(1));
}
}
```
为了提高代码的复用性和简化操作,还可以创建一个名为`SQLi`的公共类,封装常见的数据库操作,例如执行SQL命令,这样在项目中其他地方调用时更为便捷:
```csharp
public class SQLi
{
// 构造函数和方法,如 ExecuteNonQuery(string sql), ExecuteReader(string sql) 等
public void ExecuteNonQuery(string commandText)
{
using (SQLiteCommand cmd = new SQLiteCommand(commandText, conn))
{
cmd.ExecuteNonQuery();
}
}
// 其他辅助方法,如 GetDataReader(string sql) 等
}
```
通过这种方式,开发人员可以使用C#轻松地在应用程序中集成SQLite,执行各种CRUD操作。这不仅提高了代码的可维护性,也使得对数据库的操作更加模块化。对于需要处理SQLite的C#开发者来说,这篇实例教程提供了非常实用的参考价值。
2019-07-28 上传
2021-01-20 上传
2020-12-31 上传
2020-12-25 上传
2020-12-25 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38741996
- 粉丝: 45
- 资源: 932
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录