发布:2023/10/7 9:50:18作者:管理员 来源:本站 浏览次数:728
功能
对SQLite数据库进行连接
对数据库中的数据进行增删改查并更新到DataGridView控件中
一、创建数据库连接
#region 变量
private string dbUrl = null; //数据库文件的地址
private SQLiteConnection connection; //数据库连接对象
#endregion
#region 数据库工具类相关的函数
/******************************************************************************************************************
* name : public DBHelper(string DBName)
* Function : 指定数据库文件的地址
* Parameters : DBName :数据库的名称
* Returns : NULL
* Author : 那些你很冒险的梦
* Check :
* Date : 2021-3-21
******************************************************************************************************************/
public DBHelper(string DBName)
{
dbUrl = Application.StartupPath + "\\" + DBName + ".db";
}
/******************************************************************************************************************
* name : public SQLiteConnection Connection
* Function : 创建并返回数据的连接
* Parameters : DBName :数据库的名称
* Returns : NULL
* Note :
* Author : 那些你很冒险的梦
* Check :
* Date : 2021-3-21
******************************************************************************************************************/
//创建连接
public SQLiteConnection Connection
{
get
{
//判断数据库文件是否存在
if (!File.Exists(dbUrl))
{
SQLiteConnection.CreateFile(dbUrl);
}
//判断连接是否存在
if (connection == null)
{
connection = new SQLiteConnection("Data Source=" + dbUrl + ";Version=3;");
}
return connection;
}
set
{
connection = value;
}
}
/******************************************************************************************************************
* name : public void OpenConnection()
* Function : 打开数据库
* Parameters : void
* Returns : NULL
* Author :那些你很冒险的梦
* Check :
* Date : 2021-3-21
******************************************************************************************************************/
public void OpenConnection()
{
//如果连接关闭
if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
//如果连接损坏
if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
}
/******************************************************************************************************************
* name : public void OpenConnection()
* Function : 关闭数据库连接
* Parameters : void
* Returns : NULL
* Author : 那些你很冒险的梦
* Check :
* Date : 2021-3-21
******************************************************************************************************************/
public void CloseConnection()
{
//判断连接是否打开或者损坏
if (connection.State == System.Data.ConnectionState.Open || connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
}
}
二、对数据库中的数据实现增删改查
#region 对数据库中数据的增上改查
/******************************************************************************************************************
* name : public void getMessage(string sql,DataGridView dataGridView)
* Function : 从数据库中获取信息并填充到DataGridView控件中
* Parameters : sql:订制SQL语句 dataGridView:指定数据填充的控件的名称
* Returns : NULL
* Author : 那些你很冒险的梦
* Check :
* Date : 2021-3-21
******************************************************************************************************************/
public void getMessage(string sql, DataGridView dataGridView)
{
DataSet ds = new DataSet();
try
{
SQLiteDataAdapter adapter = new SQLiteDataAdapter(string.Format(@sql), Connection);
OpenConnection();
adapter.Fill(ds, "mark");
dataGridView.DataSource = ds.Tables["mark"];
}
catch (Exception ex)
{
MessageTip.ShowError("数据库操作错误");
MessageBox.Show(ex.ToString());
}
finally
{
CloseConnection();
}
}
/******************************************************************************************************************
* name : public void addMessage(string sql)
* Function : 向数据库中插入数据
* Parameters : sql:订制SQL语句
* Returns : NULL
* Author : 那些你很冒险的梦
* Check :
* Date : 2021-3-21
******************************************************************************************************************/
public void addMessage(string sql1, string sql2,DataGridView dataGridView)
{
try
{
string sql = string.Format(@sql1);
//创建连接
SQLiteCommand command = new SQLiteCommand(sql1, Connection);
//打开连接
OpenConnection();
//执行SQL语句
int result = command.ExecuteNonQuery();
//判断是否更新成功
if (result == 0)
{
MessageTip.ShowWarning("插入数据失败");
//MessageBox.Show("插入数据失败", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
//重新向datagridview中填充数据
//UserDev.userInstance.showUserList();
getMessage(sql2, dataGridView);
MessageTip.ShowOk("插入数据成功");
//MessageBox.Show("插入数据成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageTip.ShowError("数据库操作错误");
MessageBox.Show(ex.ToString());
//MessageBox.Show("数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
CloseConnection();
}
}
/******************************************************************************************************************
* name : public void deleteMessage(string sql)
* Function : 从数据库中删除数据
* Parameters : sql:订制SQL语句
* Returns : NULL
* Author : 那些你很冒险的梦
* Check :
* Date : 2021-3-21
******************************************************************************************************************/
public void deleteMessage(string sql1, string sql2, DataGridView dataGridView)
{
try
{
string sql = string.Format(@sql1);
SQLiteCommand command = new SQLiteCommand(sql, Connection);
OpenConnection();
int result = command.ExecuteNonQuery();
if (result != 0)
{
getMessage(sql2, dataGridView);
MessageTip.ShowOk("删除成功");
//MessageBox.Show("删除成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageTip.ShowWarning("删除失败");
//MessageBox.Show("删除失败", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageTip.ShowError("数据库操作错误");
MessageBox.Show(ex.ToString());
//MessageBox.Show("数据库操作错误", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
CloseConnection();
}
}
/******************************************************************************************************************
* name : public void updateMessage(string sql)
* Function : 更新数据库中的数据
* Parameters : sql:订制SQL语句
* Returns : NULL
* Author : 那些你很冒险的梦
* Check :
* Date : 2021-3-21
******************************************************************************************************************/
public void updateMessage(string sql1, string sql2, DataGridView dataGridView)
{
try
{
string sql = string.Format(@sql1);
SQLiteCommand command = new SQLiteCommand(sql, Connection);
OpenConnection();
int result = command.ExecuteNonQuery();
if (result == 0)
{
MessageTip.ShowWarning("修改数据失败");
}
else
{
//重新向datagridview中填充数据 UserDev.userInstance.showUserList();
getMessage(sql2, dataGridView);
MessageTip.ShowOk("插入数据成功");
}
}
catch (Exception ex)
{
MessageTip.ShowError("数据库操作错误");
MessageBox.Show(ex.ToString());
}
finally
{
CloseConnection();
}
}
#endregion
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4