我是 Windows 桌面应用程序开发的新手。请您建议我如何在 Windows 演示基础 (wpf) 中创建 SQLite 数据库?
你需要做两件事:
例如:
using System;
using System.Collections.Generic;
using System.Data.SQLite;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Database
{
public class DbCreator
{
    SQLiteConnection dbConnection;
    SQLiteCommand command;
    string sqlCommand;
    string dbPath = System.Environment.CurrentDirectory + "\\DB";
    string dbFilePath;
    public void createDbFile()
    {
        if (!string.IsNullOrEmpty(dbPath) && !Directory.Exists(dbPath))
            Directory.CreateDirectory(dbPath);
        dbFilePath = dbPath + "\\yourDb.db";
        if (!System.IO.File.Exists(dbFilePath))
        {
            SQLiteConnection.CreateFile(dbFilePath);
        }
    }
    public string createDbConnection()
    {
        string strCon = string.Format("Data Source={0};", dbFilePath);
        dbConnection = new SQLiteConnection(strCon);
        dbConnection.Open();
        command = dbConnection.CreateCommand();
        return strCon;
    }
    public void createTables()
    {
        if (!checkIfExist("MY_TABLE"))
        {
            sqlCommand = "CREATE TABLE MY_TBALE(idnt_test INTEGER PRIMARY KEY AUTOINCREMENT,code_test_type INTEGER";
            executeQuery(sqlCommand);
        }
    }
    public bool checkIfExist(string tableName)
    {
        command.CommandText = "SELECT name FROM sqlite_master WHERE name='" + tableName + "'";
        var result = command.ExecuteScalar();
        return result != null && result.ToString() == tableName ? true : false;
    }
    public void executeQuery(string sqlCommand)
    {
        SQLiteCommand triggerCommand = dbConnection.CreateCommand();
        triggerCommand.CommandText = sqlCommand;
        triggerCommand.ExecuteNonQuery();
    }
    public bool checkIfTableContainsData(string tableName)
    {
        command.CommandText = "SELECT count(*) FROM " + tableName;
        var result = command.ExecuteScalar();
        return Convert.ToInt32(result) > 0 ? true : false;
    }
    public void fillTable()
    {
        if (!checkIfTableContainsData("MY_TABLE"))
        {
            sqlCommand = "insert into MY_TABLE (code_test_type) values (999)";
            executeQuery(sqlCommand);
        }
    }
  }
}
祝你好运!
| 归档时间: | 
 | 
| 查看次数: | 7081 次 | 
| 最近记录: |