博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winform中读写SQLite数据库例子
阅读量:2121 次
发布时间:2019-04-30

本文共 2790 字,大约阅读时间需要 9 分钟。

App.config

备注:如果开发环境是4.0,而System.Data.Sqlite是比较低的版本,则可能会弹出错误信息“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集”,解决方法是在上面加上:

<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>

</startup>

数据库读写助手SqliteHelper.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.Common;using System.Data.SQLite;public class SqliteHelper{    public SqliteHelper()    {        //        //TODO: 在此处添加构造函数逻辑        //    }    private static SQLiteConnection GetConnection()    {        string connStr = System.Configuration.ConfigurationManager.AppSettings["DbSQLite"].ToString();         SQLiteConnection conn = new SQLiteConnection(connStr);        conn.Open();        return conn;    }    public static int ExecuteSql(string sql)    {        using (SQLiteConnection conn = GetConnection())        {            var cmd = new SQLiteCommand(sql, conn);            return cmd.ExecuteNonQuery();        }    }    public static int ExecuteScalar(string sql)    {        using (SQLiteConnection conn = GetConnection())        {            var cmd = new SQLiteCommand(sql, conn);            object o = cmd.ExecuteScalar();            return int.Parse(o.ToString());        }    }    public static SQLiteDataReader ExecuteReader(string sql)    {        SQLiteConnection conn = GetConnection();        var cmd = new SQLiteCommand(sql, conn);        SQLiteDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);        return myReader;    }    public static DataSet ExecDataSet(string sql)    {        using (SQLiteConnection conn = GetConnection())        {            var cmd = new SQLiteCommand(sql, conn);            SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);            DataSet ds = new DataSet();            da.Fill(ds);            return ds;        }    }}

窗体中应用Form1.cs

//判断表是否存在,不存在则生成            int result = SqliteHelper.ExecuteScalar("SELECT COUNT(*) FROM sqlite_master where type='table' and name='tb'");            if (result == 0)            {                //创建表                SqliteHelper.ExecuteSql("create table [tb] (id integer PRIMARY KEY autoincrement, [name] varchar(20), [createDate] datetime default (datetime('now', 'localtime')))");            }            //插入一行数据            result = SqliteHelper.ExecuteSql("insert into [tb](name) values ('Luck')");            if(result > 0)            {                string msg = "";                //读取数据                SQLiteDataReader dr = SqliteHelper.ExecuteReader("select * from [tb]");                if (dr.Read())                {                    msg += dr[0] + "," + dr[1] + "," + dr[2];                }                MessageBox.Show(msg);            }

转载地址:http://smzrf.baihongyu.com/

你可能感兴趣的文章
【Loadrunner】性能测试报告实战
查看>>
【面试】一份自我介绍模板
查看>>
【自动化测试】自动化测试需要了解的的一些事情。
查看>>
【selenium】selenium ide的安装过程
查看>>
【手机自动化测试】monkey测试
查看>>
【英语】软件开发常用英语词汇
查看>>
Fiddler 抓包工具总结
查看>>
【雅思】雅思需要购买和准备的学习资料
查看>>
【雅思】雅思写作作业(1)
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>
【English】【托业】【四六级】写译高频词汇
查看>>
【托业】【新东方全真模拟】01~02-----P5~6
查看>>
【托业】【新东方全真模拟】03~04-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST05~06-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST09~10-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST07~08-----P5~6
查看>>
solver及其配置
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
Java集合框架知识梳理
查看>>