用c#创建一个sqlite文件,包括产品标识id,通过还是失败pass fail,当前的日期,一共三个字段
时间: 2025-08-04 18:40:11 浏览: 2
<think>我们使用C#创建SQLite数据库,需要添加对System.Data.SQLite库的引用。以下是步骤:
1. 安装System.Data.SQLite包
2. 创建数据库文件
3. 创建表,包含三个字段:ID(产品标识),TestResult(测试结果,存储通过/失败),TestDate(当前日期)
4. 插入数据示例
具体步骤:
步骤1:在Visual Studio中,通过NuGet包管理器安装System.Data.SQLite。
步骤2:编写代码创建数据库和表。
注意:由于SQLite是嵌入式数据库,我们不需要安装额外的服务,直接创建文件即可。
代码示例:</think>### C# 创建 SQLite 数据库教程
以下是使用 C# 创建 SQLite 数据库文件并添加 `产品ID`、`测试结果(Pass/Fail)` 和 `日期` 字段的完整步骤:
---
#### 1. 安装必要 NuGet 包
在 Visual Studio 中安装 SQLite 库:
```bash
Install-Package System.Data.SQLite
```
#### 2. 完整实现代码
```csharp
using System;
using System.Data.SQLite;
class Program
{
static void Main()
{
// 数据库文件名(自动创建在程序运行目录)
string dbFile = "ProductTest.db";
// 创建数据库连接
using (var conn = new SQLiteConnection($"Data Source={dbFile};Version=3;"))
{
conn.Open();
// 创建数据表
string createTableSql = @"
CREATE TABLE IF NOT EXISTS TestResults (
ID INTEGER PRIMARY KEY AUTOINCREMENT,
ProductID TEXT NOT NULL,
TestResult TEXT CHECK(TestResult IN ('Pass', 'Fail')) NOT NULL,
TestDate DATETIME DEFAULT CURRENT_TIMESTAMP
)";
using (var cmd = new SQLiteCommand(createTableSql, conn))
{
cmd.ExecuteNonQuery();
Console.WriteLine("数据库表创建成功!");
}
// 插入示例数据
string insertSql = @"
INSERT INTO TestResults (ProductID, TestResult)
VALUES (@productId, @result)";
using (var cmd = new SQLiteCommand(insertSql, conn))
{
cmd.Parameters.AddWithValue("@productId", "P1001");
cmd.Parameters.AddWithValue("@result", "Pass");
cmd.ExecuteNonQuery();
cmd.Parameters["@productId"].Value = "P1002";
cmd.Parameters["@result"].Value = "Fail";
cmd.ExecuteNonQuery();
Console.WriteLine("示例数据插入成功!");
}
}
Console.WriteLine($"数据库已创建: {AppDomain.CurrentDomain.BaseDirectory}{dbFile}");
Console.ReadKey();
}
}
```
#### 3. 关键代码说明
1. **字段设计**:
- `ID`:自增主键(`INTEGER PRIMARY KEY AUTOINCREMENT`)
- `ProductID`:产品标识(`TEXT NOT NULL`)
- `TestResult`:测试结果(`CHECK`约束确保仅接受 'Pass'/'Fail')
- `TestDate`:自动记录当前时间(`DEFAULT CURRENT_TIMESTAMP`)
2. **SQLite 特性**:
- 数据库文件自动创建(无需单独安装数据库服务)
- 日期字段使用 `DATETIME` 类型,默认值为当前时间戳
- `CHECK` 约束保证数据有效性
3. **运行结果**:
```
数据库表创建成功!
示例数据插入成功!
数据库已创建: C:\YourPath\ProductTest.db
```
---
#### 4. 验证数据库内容
使用 [SQLite Browser](https://sqlitebrowser.org/) 打开数据库文件,将看到:
| ID | ProductID | TestResult | TestDate |
|-----|-----------|------------|------------------------|
| 1 | P1001 | Pass | 2023-08-15 14:30:00 |
| 2 | P1002 | Fail | 2023-08-15 14:30:05 |
---
### 注意事项
1. **日期格式**:SQLite 的 `CURRENT_TIMESTAMP` 使用 UTC 时间,如需本地时间可改用 `DATETIME('now', 'localtime')`
2. **数据路径**:生产环境中建议使用绝对路径(如 `Environment.SpecialFolder.ApplicationData`)
3. **并发访问**:SQLite 支持多线程读取,但写入时需同步(推荐使用 `lock` 语句)
4. **错误处理**:实际代码中应添加 `try-catch` 块处理数据库异常
> 提示:SQLite 是轻量级嵌入式数据库,占用资源少(仅需几百KB内存),适合本地数据存储场景[^3]。
---
阅读全文