1、在项目里面用 Navicat Premium 新建 数据库,并创建表这些
C:\Users\Administrator\source\repos\LoginDataBase\LoginDataBase\bin\Debug\db\SqLiteDataBase.db
2、项目里引用 System.Data.SQLite.dll
3、选中项目粘贴 SQLiteHelper.cs
4、项目加载就打开数据库,双击项目头 添加代码,结果如下:
SQLiteHelper sql = new SQLiteHelper(); //声明对象 // private void Form1_Load(object sender, EventArgs e) { string sqlitepath = AppDomain.CurrentDomain.BaseDirectory + "db/SqLiteDataBase.db";//设定库路径 sql.strConn = string.Format("Data Source={0};Pooling=true;FailIfMissing=false;", sqlitepath); }
5、点击后执行数据库操作
private void btnLogin_Click(object sender, EventArgs e) { string uname = txtName.Text.Trim(); string upass = txtPass.Text.Trim(); SqlObject sqlobj = new SqlObject(); //参数化查询 sqlobj.sqlText = "select Id from UserXuanji where UserNames = @uname and UserPass = @upass"; sqlobj.paramList.Add(new SQLiteParameter("@uname", uname)); sqlobj.paramList.Add(new SQLiteParameter("@upass", upass)); object obj = sql.ExecuteScalar(sqlobj.sqlText, sqlobj.paramList.ToArray()); int i = Convert.ToInt32(obj); if (i > 0) { labStatus.Text = "登录成功"; } else { labStatus.Text = "登录失败"; } }
6、出现没导入的 按 ctrl + . 进行 using导入
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SQLite; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using XuanJiSQLiteHelper;
7、SQLiteHelper.cs
using System.Data; using System.Data.SQLite; using System.Data.Common; using System.Collections.Generic; namespace XuanJiSQLiteHelper { public class SQLiteHelper { /// <summary> /// 创建链接字符串 public string strConn = string.Empty; #region 执行Sql语句,增删改 /// <summary> /// 执行Sql语句,增删改 /// </summary> /// <param name="sql">sql语句</param> /// <param name="parms">参数</param> /// <returns>影响行数</returns> public int ExecuteNonQuery(string sql, params SQLiteParameter[] parms) { using (SQLiteConnection conn = new SQLiteConnection(strConn)) { using (SQLiteCommand cmd = new SQLiteCommand(sql, conn)) { if (parms != null) { cmd.Parameters.AddRange(parms); } conn.Open(); return cmd.ExecuteNonQuery(); } } } #endregion #region 执行Sql语句,1个返回值 /// <summary> /// 查询方法 /// </summary> /// <param name="sql">sql语句</param> /// <param name="parms">sql参数</param> /// <returns> 返回第一行第一列数据 </returns> public object ExecuteScalar(string sql, params SQLiteParameter[] parms) { using (SQLiteConnection conn = new SQLiteConnection(strConn)) { using (SQLiteCommand cmd = new SQLiteCommand(sql, conn)) { if (parms != null) { cmd.Parameters.AddRange(parms); } if (conn.State != ConnectionState.Open) { conn.Open(); } return cmd.ExecuteScalar(); } } } #endregion #region 执行sql语句,返回结果集 /// <summary> /// 执行sql语句,返回结果集 /// </summary> /// <param name="sql">sql语句</param> /// <param name="parms">参数</param> /// <returns></returns> public SQLiteDataReader ExecuteReader(string sql, params SQLiteParameter[] parms) { using (SQLiteConnection conn = new SQLiteConnection(strConn)) { using (SQLiteCommand cmd = new SQLiteCommand(sql, conn)) { if (parms != null) { cmd.Parameters.AddRange(parms); } if (conn.State != ConnectionState.Open) { conn.Open(); //非打开状态时,打开数据库 } return cmd.ExecuteReader(CommandBehavior.CloseConnection);//当SQLiteDataReader释放时,释放连接 } } } #endregion /// <summary> /// 多语句事务 /// </summary> /// <param name="sql">sql对象集合</param> /// <returns></returns> public bool ExecTransaction(List<SqlObject> sql) { using (SQLiteConnection conn = new SQLiteConnection(strConn)) { using (DbTransaction transaction = conn.BeginTransaction()) { int o = 0; using (SQLiteCommand command = new SQLiteCommand(conn)) { for (int i = 0; i < sql.Count; i++) { command.CommandText = sql[i].sqlText; if (sql[i].paramList != null) { command.Parameters.AddRange(sql[i].paramList.ToArray()); } } o += (int)command.ExecuteNonQuery(); command.Parameters.Clear(); if (o >= 0) { transaction.Commit(); return true; } else { transaction.Rollback(); return false; } } } } } } public class SqlObject { /// <summary> /// sql语句 /// </summary> public string sqlText { get; set; } /// <summary> /// 参数列表 /// </summary> public List<SQLiteParameter> paramList = new List<SQLiteParameter>(); } }
0条评论