148 lines
4.8 KiB
C#
148 lines
4.8 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.IO;
|
|||
|
using System.Data.SQLite;
|
|||
|
using System.Data;
|
|||
|
|
|||
|
namespace DeiNiu.Data.BaseObject
|
|||
|
{
|
|||
|
public class SQLiteHelper
|
|||
|
{
|
|||
|
//创建数据库文件
|
|||
|
public static void CreateDBFile(string fileName)
|
|||
|
{
|
|||
|
string path = System.Environment.CurrentDirectory + @"/Data/";
|
|||
|
if (!Directory.Exists(path))
|
|||
|
{
|
|||
|
Directory.CreateDirectory(path);
|
|||
|
}
|
|||
|
string databaseFileName = path + fileName;
|
|||
|
if (!File.Exists(databaseFileName))
|
|||
|
{
|
|||
|
SQLiteConnection.CreateFile(databaseFileName);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//生成连接字符串
|
|||
|
private static string CreateConnectionString()
|
|||
|
{
|
|||
|
SQLiteConnectionStringBuilder connectionString = new SQLiteConnectionStringBuilder();
|
|||
|
connectionString.DataSource = @"data/ScriptHelper.db";
|
|||
|
|
|||
|
string conStr = connectionString.ToString();
|
|||
|
return conStr;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 对插入到数据库中的空值进行处理
|
|||
|
/// </summary>
|
|||
|
/// <param name="value"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static object ToDbValue(object value)
|
|||
|
{
|
|||
|
if (value == null)
|
|||
|
{
|
|||
|
return DBNull.Value;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 对从数据库中读取的空值进行处理
|
|||
|
/// </summary>
|
|||
|
/// <param name="value"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static object FromDbValue(object value)
|
|||
|
{
|
|||
|
if (value == DBNull.Value)
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 执行非查询的数据库操作
|
|||
|
/// </summary>
|
|||
|
/// <param name="sqlString">要执行的sql语句</param>
|
|||
|
/// <param name="parameters">参数列表</param>
|
|||
|
/// <returns>返回受影响的条数</returns>
|
|||
|
public static int ExecuteNonQuery(string sqlString, params SQLiteParameter[] parameters)
|
|||
|
{
|
|||
|
string connectionString=CreateConnectionString();
|
|||
|
using (SQLiteConnection conn = new SQLiteConnection(connectionString))
|
|||
|
{
|
|||
|
conn.Open();
|
|||
|
using (SQLiteCommand cmd = conn.CreateCommand())
|
|||
|
{
|
|||
|
cmd.CommandText = sqlString;
|
|||
|
foreach (SQLiteParameter parameter in parameters)
|
|||
|
{
|
|||
|
cmd.Parameters.Add(parameter);
|
|||
|
}
|
|||
|
return cmd.ExecuteNonQuery();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 执行查询并返回查询结果第一行第一列
|
|||
|
/// </summary>
|
|||
|
/// <param name="sqlString">SQL语句</param>
|
|||
|
/// <param name="sqlparams">参数列表</param>
|
|||
|
/// <returns></returns>
|
|||
|
public static object ExecuteScalar(string sqlString, params SQLiteParameter[] parameters)
|
|||
|
{
|
|||
|
string connectionString = CreateConnectionString();
|
|||
|
using (SQLiteConnection conn = new SQLiteConnection(connectionString))
|
|||
|
{
|
|||
|
conn.Open();
|
|||
|
using (SQLiteCommand cmd = conn.CreateCommand())
|
|||
|
{
|
|||
|
cmd.CommandText = sqlString;
|
|||
|
foreach (SQLiteParameter parameter in parameters)
|
|||
|
{
|
|||
|
cmd.Parameters.Add(parameter);
|
|||
|
}
|
|||
|
return cmd.ExecuteScalar();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 查询多条数据
|
|||
|
/// </summary>
|
|||
|
/// <param name="sqlString">SQL语句</param>
|
|||
|
/// <param name="parameters">参数列表</param>
|
|||
|
/// <returns>返回查询的数据表</returns>
|
|||
|
public static DataTable GetDataTable(string sqlString,params SQLiteParameter[] parameters)
|
|||
|
{
|
|||
|
string connectionString = CreateConnectionString();
|
|||
|
using (SQLiteConnection conn = new SQLiteConnection(connectionString))
|
|||
|
{
|
|||
|
conn.Open();
|
|||
|
using (SQLiteCommand cmd = conn.CreateCommand())
|
|||
|
{
|
|||
|
cmd.CommandText = sqlString;
|
|||
|
foreach (SQLiteParameter parameter in parameters)
|
|||
|
{
|
|||
|
cmd.Parameters.Add(parameter);
|
|||
|
}
|
|||
|
DataSet ds = new DataSet();
|
|||
|
SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);
|
|||
|
adapter.Fill(ds);
|
|||
|
return ds.Tables[0];
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|