Sqlite安装配置及使用

一、下载SQLite

Sqlite官网

Sqlite安装配置及使用_第1张图片

我下载的是3370000版本:sqlite-dll-win64-x64-3370000.zip 和 sqlite-tools-win32-x86-3370000.zip 

二、解压下载的两个压缩包 

Sqlite安装配置及使用_第2张图片 三、配置环境

Sqlite安装配置及使用_第3张图片

四、检查是否安装配置成功

  • win+R:输入cmd调出命令窗口,输入sqlite3后回车查看sqlite版本Sqlite安装配置及使用_第4张图片

五、Navcate连接Sqlite 

 Sqlite安装配置及使用_第5张图片

  • 以上就是安装配置Sqlite,并使用数据库管理工具---Navicat简单创建或者打开数据库文件,在管理工具中可以对db文件中的表进行修改

六、C#代码中调用SQLite数据库(db文件)

  • 新建项目
  • 在NuGet程序包内,搜索System.Data.Sqlite  安装Sqlite类库 

Sqlite安装配置及使用_第6张图片

  • 创建SQLiteHelper类 
    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 = System.Environment.CurrentDirectory + @"\StudentDB.db";//这里StudentDB.db文件中的Grade表是我在Navicat中新创建的,用来测试
              string conStr = connectionString.ToString();
              return conStr;
          }

         /// 
         /// 对插入到数据库中的空值进行处理
         /// 
         /// 
         /// 
         public static object ToDbValue(object value)
         {
                 if (value == null)
                     {
                         return DBNull.Value;
                     }
                 else
                     {
                         return value;
                     }
         }

          /// 
          /// 对从数据库中读取的空值进行处理
          /// 
          /// 
          /// 
          public static object FromDbValue(object value)
          {
                 if (value == DBNull.Value)
                     {
                         return null;
                     }
               else
                     {
                         return value;
                     }
             }

          /// 
          /// 执行非查询的数据库操作
          /// 
          /// 要执行的sql语句
          /// 参数列表
          /// 返回受影响的条数
          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();
                    }
                 }
          }

         /// 
         /// 执行查询并返回查询结果第一行第一列
         /// 
         /// SQL语句
         /// 参数列表
         /// 
         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();
                             }
                     }
             }

         /// 
         /// 查询多条数据
         /// 
         /// SQL语句
         /// 参数列表
         /// 返回查询的数据表
         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);
                                 conn.Close();
                                 return ds.Tables[0];
                             }
                     }
             }
         
    }
  • 调用SQLiteHelper类 
public class Program
{
    static void Main(string[] args)
    {
        GetAllGrade();
    }

    /// 
    /// 查询所有年级
    /// 
    /// 
    public static List GetAllGrade()
    {
        List gradeEties = new List();

        SQLiteHelper sQLiteHelper = new SQLiteHelper();
        string sqlQuery = "SELECT * FROM 'Grade';";
        SQLiteParameter[] parameters = new SQLiteParameter[]{};

        DataTable dt = SQLiteHelper.GetDataTable(sqlQuery, parameters);
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            string Id = dt.Rows[i]["ID"].ToString();
            string GradeName = dt.Rows[i]["GradeName"].ToString();


            GradeEty clientEty = new GradeEty(Id, GradeName);
            gradeEties.Add(clientEty);
        }
        return gradeEties;
    }
}

public class GradeEty
{
    public string Id { get; set; }
    public string Name { get; set; }

    public GradeEty(string id, string name)
    {
        Id = id;
        Name = name;
    }
}
  • db文件中的Grade表

Sqlite安装配置及使用_第7张图片 

  • 拿到db文件中Grade表的数据,转化成List集合

Sqlite安装配置及使用_第8张图片

你可能感兴趣的:(sqlite,数据库)