C# sqlite 插入多条数据 函数
时间: 2024-09-10 13:23:37 浏览: 53
在C#中,如果你想插入多条数据到SQLite数据库,可以使用`sqlite3_exec()`函数配合SQLite的命令式API,或者使用ADO.NET提供的`DbCommand`和`DataTable`。这里是一个使用SQLiteCommand对象批量插入数据的例子:
```csharp
using System.Data.SQLite;
using System.Data;
// 假设你有一个DataTable包含需要插入的数据
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Column1", typeof(int));
dataTable.Columns.Add("Column2", typeof(string));
// 添加几行数据
DataRow[] dataRows = {
dataTable.NewRow {["Column1", "Value1"], ["Column2", "Data1"]},
dataTable.NewRow {["Column1", 2], ["Column2", "Data2"]},
// 更多数据...
};
// 创建SQLite连接和命令
using (var connection = new SQLiteConnection("Data Source=your_database.db;Version=3;"))
{
connection.Open();
// 使用DataTable的Rows属性作为数据源,创建一个INSERT INTO SQL语句
var commandText = $"INSERT INTO YourTable (Column1, Column2) VALUES ({string.Join(",", dataTable.AsEnumerable().Select(row => "(@Column1, @Column2)", string.Empty)})";
using (var command = new SQLiteCommand(commandText, connection)
{
foreach (var row in dataRows)
{
command.Parameters.AddWithValue("@Column1", row.Field<int>("Column1"));
command.Parameters.AddWithValue("@Column2", row.Field<string>("Column2"));
command.ExecuteNonQuery(); // 执行一次插入操作
}
}
// 关闭命令
}
阅读全文