System.Data.SQLite 使用

1.下载

System.Data.SQLite: Downloads Page

2.使用示例

using System;
using System.Data.SQLite;

public class SQLiteHelper
{
  private readonly string _connectionString;

  public SQLiteHelper(string databasePath)
  {
    _connectionString = $"Data Source={databasePath};Version=3;";
  }

  public void CreateTable(string tableName, string columnsDefinition)
  {
    using (var connection = new SQLiteConnection(_connectionString))
    {
      connection.Open();
      string sql = $"CREATE TABLE IF NOT EXISTS {tableName} ({columnsDefinition})";

      using (var command = new SQLiteCommand(sql, connection))
      {
        try
        {
          command.ExecuteNonQuery();
          Console.WriteLine($"Table '{tableName}' created successfully.");
        }
        catch (SQLiteException ex)
        {
          Console.WriteLine("SQLite Error: " + ex.Message);
        }
      }
    }
  }

  public void InsertData(string tableName, string[] columns, object[] values)
  {
    if (columns.Length != values.Length)
      throw new ArgumentException("Columns count must match values count.");

    using (var connection = new SQLiteConnection(_connectionString))
    {
      connection.Open();

      string columnsJoined = string.Join(", ", columns);
      string placeholders = string.Join(", ", columns.Select((_, index) => $"@param{index}"));

      string sql = $"INSERT INTO {tableName} ({columnsJoined}) VALUES ({placeholders})";

      using (var command = new SQLiteCommand(sql, connection))
      {
        for (int i = 0; i < values.Length; i++)
        {
          command.Parameters.AddWithValue($"@param{i}", values[i]);
        }

        try
        {
          command.ExecuteNonQuery();
          Console.WriteLine("Data inserted successfully.");
        }
        catch (SQLiteException ex)
        {
          Console.WriteLine("SQLite Error: " + ex.Message);
        }
      }
    }
  }
}

// 使用示例
class Program
{
  static void Main()
  {
    string databasePath = "myDatabase.db";
    var sqliteHelper = new SQLiteHelper(databasePath);

    // 创建表
    string tableName = "Users";
    string columnsDefinition = "Id INTEGER PRIMARY KEY, Name TEXT, Age INTEGER";
    sqliteHelper.CreateTable(tableName, columnsDefinition);

    // 插入数据
    string[] columns = { "Name", "Age" };
    object[] values = { "Alice", 30 };
    sqliteHelper.InsertData(tableName, columns, values);
  }
}

3.运行结果

查看工具是Navicat Premium ,下载

Navicat | 免费下载 Navicat Premium Lite

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值