我是 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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
祝你好运!
| 归档时间: |
|
| 查看次数: |
7081 次 |
| 最近记录: |