• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#操作SQLite数据库方法小结(创建,连接,插入,查询,删除等)

C#操作SQLite数据库方法小结(创建,连接,插入,查询,删除等)

作者:阿凡卢 字体:[增加 减小] 来源:互联网 时间:2017-05-28

阿凡卢 通过本文主要向大家介绍了c#连接sqlite数据库,c#操作sqlite数据库,c#创建sqlite数据库,c#访问sqlite数据库,c#读取sqlite数据库等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#操作SQLite数据库方法。分享给大家供大家参考,具体如下:

SQLite介绍

SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.

SQLite是一个开源、免费的小型RDBMS(关系型数据库),能独立运行、无服务器、零配置、支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准。

SQLite数据库官方主页:http://www.sqlite.org/index.html

C#操作SQLite Database

C#下SQLite操作驱动dll下载:System.Data.SQLite

C#使用SQLite步骤:

(1)新建一个project
(2)添加SQLite操作驱动dll引用
(3)使用API操作SQLite DataBase

using System;
using System.Data.SQLite;
namespace SQLiteSamples
{
  class Program
  {
    //数据库连接
    SQLiteConnection m_dbConnection;
    static void Main(string[] args)
    {
      Program p = new Program();
    }
    public Program()
    {
      createNewDatabase();
      connectToDatabase();
      createTable();
      fillTable();
      printHighscores();
    }
    //创建一个空的数据库
    void createNewDatabase()
    {
      SQLiteConnection.CreateFile("MyDatabase.sqlite");
    }
    //创建一个连接到指定数据库
    void connectToDatabase()
    {
      m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
      m_dbConnection.Open();
    }
    //在指定数据库中创建一个table
    void createTable()
    {
      string sql = "create table highscores (name varchar(20), score int)";
      SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
      command.ExecuteNonQuery();
    }
    //插入一些数据
    void fillTable()
    {
      string sql = "insert into highscores (name, score) values ('Me', 3000)";
      SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
      command.ExecuteNonQuery();
      sql = "insert into highscores (name, score) values ('Myself', 6000)";
      command = new SQLiteCommand(sql, m_dbConnection);
      command.ExecuteNonQuery();
      sql = "insert into highscores (name, score) values ('And I', 9001)";
      command = new SQLiteCommand(sql, m_dbConnection);
      command.ExecuteNonQuery();
    }
    //使用sql查询语句,并显示结果
    void printHighscores()
    {
      string sql = "select * from highscores order by score desc";
      SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
      SQLiteDataReader reader = command.ExecuteReader();
      while (reader.Read())
        Console.WriteLine("Name: " + reader["name"] + "\tScore: " + reader["score"]);
      Console.ReadLine();
    }
  }
}

</div>

关于SQLite的connection string说明:http://www.connectionstrings.com/sqlite/

SQLite GUI客户端列表:http://www.sqlite.org/cvstrac/wiki?p=ManagementTools

SQLite Administrator下载地址:http://download.orbmu2k.de/files/sqliteadmin.zip

操作SQLite Database的C#帮助类SQLite Helper

将一些常用的功能封装一下,封装成SQLite Helper类

using System;
using System.Data;
using System.Text.RegularExpressions;
using System.Xml;
using System.IO;
using System.Collections;
using System.Data.SQLite;
namespace DBUtility.SQLite
{
  /// <summary>
  /// SQLiteHelper is a utility class similar to "SQLHelper" in MS
  /// Data Access Application Block and follows similar pattern.
  /// </summary>
  public class SQLiteHelper
  {
    /// <summary>
    /// Creates a new <see cref="SQLiteHelper"/> instance. The ctor is marked private since all members are static.
    /// </summary>
    private SQLiteHelper()
    {
    }
    /// <summary>
    /// Creates the command.
    /// </summary>
    /// <param name="connection">Connection.</param>
    /// <param name="commandText">Command text.</param>
    /// <param name="commandParameters">Command parameters.</param>
    /// <returns>SQLite Command</returns>
    public static SQLiteCommand CreateCommand(SQLiteConnection connection, string commandText, params SQLiteParameter[] commandParameters)
    {
      SQLiteCommand cmd = new SQLiteCommand(commandText, connection);
      if (commandParameters.Length > 0)
      {
        foreach (SQLiteParameter parm in commandParameters)
          cmd.Parameters.Add(parm);
      }
      return cmd;
    }
    /// <summary>
    /// Creates the command.
    /// </summary>
    /// <param name="connectionString">Connection string.</param>
    /// <param name="commandText">Command text.</param>
    /// <param name="commandParameters">Command parameters.</param>
    /// <returns>SQLite Command</returns>
    public static SQLiteCommand CreateCommand(string connectionString, string commandText, params SQLiteParameter[] commandParameters)
    {
      SQLiteConnection cn = new SQLiteConnection(connectionString);
      SQLiteCommand cmd = new SQLiteCommand(commandText, cn);
      if (commandParameters.Length > 0)
      {
        foreach (SQLiteParameter parm in commandParameters)
          cmd.Parameters.Add(parm);
      }
      return cmd;
    }
    /// <summary>
    /// Creates the parameter.
    /// </summary>
    /// <param name="parameterName">Name of the parameter.</param>
    /// <param name="parameterType">Parameter type.</param>
    /// <param name="parameterValue">Parameter value.</param>
    /// <returns>SQLiteParameter</returns>
    public static SQLiteParameter CreateParameter(string parameterName, System.Data.DbType parameterType, object parameterValue)
    {
      SQLiteParameter parameter = new SQLiteParameter();
      parameter.DbType = parameterType;
      parameter.ParameterName = parameterName;
      parameter.Value = parameterValue;
      return parameter;
    }
    /// <summary>
    /// Shortcut method to execute dataset from SQL Statement and object[] arrray of parameter values
    /// </summary>
    /// <param name="connectionString">SQLite Connection string</param>
    /// <param name="commandText">SQL Statement with embedded "@param" style parameter names</param>
    /// <param name="paramList">object[] array of parameter values</param>
    /// <returns></returns>
    public static DataSet ExecuteDataSet(string connectionString, string commandText, object[] paramList)
    {
      SQLiteConnection cn = new SQLiteConnection(connectionString);
      SQLiteCommand cmd = cn.CreateCommand();
      cmd.CommandText = commandText;
      if (paramList != null)
      {
        AttachParameters(cmd,commandText, paramList);
      }
      DataSet ds = new DataSet();
      if (cn.State == ConnectionState.Closed)
        cn.Open();
      SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
      da.Fill(ds);
      da.Dispose();
      cmd.Dispose();
      cn.Close();
      return ds;
    }
    /// <summary>
    /// Shortcut method to execute dataset from SQL Statement and object[] arrray of parameter values
    /// </summary>
    /// <param name="cn">Connection.</param>
    /// <param name="commandText">Command text.</param>
    /// <param name="paramList">Param list.</param>
    /// <returns></returns>
    public static DataSet ExecuteDataSet(SQLiteConnection cn, string commandText, object[] paramList)
    {
      SQLiteCommand cmd = cn.CreateCommand();
      cmd.CommandText = 



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#解决SQlite并发异常问题的方法(使用读写锁)
  • C#操作SQLite数据库之读写数据库的方法
  • C# SQlite操作方法小结
  • C#操作SQLite数据库方法小结(创建,连接,插入,查询,删除等)
  • C#简单查询SQLite数据库是否存在数据的方法
  • C#简单访问SQLite数据库的方法(安装,连接,查询等)
  • C#操作SQLite方法实例详解
  • C#调用SQLite的方法实例分析
  • C#中嵌入SQLite数据库的简单方法
  • C#封装的Sqlite访问类实例

相关文章

  • 2017-05-28c#队列Queue学习示例分享
  • 2017-05-28无焦点获取条码枪返回值示例
  • 2017-05-28C#中的匿名方法实例解析
  • 2017-05-28C#简单快速的json组件fastJSON使用介绍
  • 2017-05-28C#使用shell32获取文件属性的方法
  • 2017-05-28Win Form 的 Splitter 使用心得与技巧
  • 2017-05-28基于C#对用户密码使用MD5加密与解密
  • 2017-05-28DevExpress之饼状图突出(Explode)设置实例
  • 2017-05-28用C#操纵IIS(代码)
  • 2017-05-28C#实现图片加相框的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • razor 页面 js int 输出 等
    • c#转换全角半角方法示例
    • C#方法的总结详解
    • C#获取并修改文件扩展名的方法
    • C#实现Excel表数据导入Sql Server数据库中的方法
    • C#执行外部命令的方法
    • C#中struct和class的区别详解
    • C#怎么给PDF添加背景图片
    • WinForm实现最小化到系统托盘方法实例详解
    • C#的XML两种代码注释实例说明

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有