private void button1_Click(object sender, EventArgs e)
{
//查询数据库内容并绑定
string sql= "select* from employee";
dataGridView1.DataSource = SqliteHelper.ExecuteDatatable(sql);
} private void button2_Click(object sender, EventArgs e)
{
//创建数据库
SQLiteConnection.CreateFile("sqlite.db"); //创建数据库文件
MessageBox.Show("创建成功");
} private void button3_Click(object sender, EventArgs e)
{
//创建表
string sql = "create table employee (name varchar(20), age int)";
SqliteHelper.ExecuteNonQuery(sql);
MessageBox.Show("创建成功");
} private void button4_Click(object sender, EventArgs e)
{
//插入数据记录
string sql = "insert into employee (name,age) values ('wuzhiyu',25)";
SqliteHelper.ExecuteNonQuery(sql); sql = "insert into employee (name,age) values ('Frank',50)";
SqliteHelper.ExecuteNonQuery(sql);
}

//需要System.Data.SQLite.dll 引用

sql 语句

--创建 公司表
CREATE TABLE [Company] (
[CompanyID] INTEGER PRIMARY KEY,--用户编号
[CompanyName] VARCHAR(50) NOT NULL,--公司名称
[Address] VARCHAR(200), --地址
[Tel] VARCHAR(11), --联系电话
[Memo] VARCHAR(200),--备注 [CreatTiem] datetime NOT NULL,--创建时间
[CreateName] VARCHAR(50) NOT NULL,--创建人
[ModifyTime] datetime,--修改时间
[ModifyName] VARCHAR(50)--修改人
); --创建 客户表
CREATE TABLE [Custom] (
[CustomID] INTEGER PRIMARY KEY, --客户编号
[CustomName] VARCHAR(50) NOT NULL, --客户名称
[Address] VARCHAR(200), --地址
[Tel] VARCHAR(11), --联系电话
[CompanyID] INTEGER NOT NULL, --公司ID
[Memo] VARCHAR(200), --备注 [CreatTiem] datetime NOT NULL,
[CreateName] VARCHAR(50)NOT NULL,
[ModifyTime] datetime,
[ModifyName] VARCHAR(50)
);
--创键 表格收据表
CREATE TABLE [ReceiptTable](
[ReceiptTableID] INTEGER PRIMARY KEY,--收据ID
[CompanyID] INTEGER NOT NULL, --公司ID
[Number] INTEGER NOT NULL, --票号
[CustomID] INTEGER NOT NULL, --客户编号
[CustomName] Varchar(50) NOT NULL,--客户名称
[Totle] NUMERIC(18,2) NOT NULL, --收费金额
[TotleWord] varchar(100) NOT NULL,--收费大写
[Memo] VARCHAR(200), --备注
[FeeTime] datetime NOT NULL,-- 收费时间
[Brokerage] Varchar(50) NOT NULL,--经手人
[Accounting] Varchar(50) NOT NULL,--会计
[Cashier] Varchar(50) NOT NULL,--出纳
[Status] Varchar(10) NOT NULL,--状态
[CancelTime] datetime, --作废日期
[CancelName] Varchar(50)--作废人
); --创建表格收据详情
Create table [Detail](
[DetailID] INTEGER PRIMARY KEY,--明细ID
[ReceiptTableID] INTEGER NOT NULL, --收据ID
[FeeID] INTEGER NOT NULL, --收费项ID
[FeeName] VARCHAR(200), --收费项名称
[Quantity] INTEGER NOT NULL, --数量
[Price] NUMERIC(18,2) NOT NULL, --单价
[Unit] Varchar(5) NOT NULL,--单位
[Total] NUMERIC(18,2) NOT NULL, --金额
[Memo] VARCHAR(200) --备注
);
--收费项目表
CREATE TABLE [Fee] (
[FeeID] INTEGER PRIMARY KEY,--项目编号
[FeeName] VARCHAR(50) NOT NULL,--收费项名称
[Unit] VARCHAR(5) ,--单位
[Price]NUMERIC(18,2) ,--单价
[CompanyID] INTEGER ,--用户编号
[CreatTime] Datetime NOT NULL,--创建时间
[CreateName] VARCHAR(50) NOT NULL,--创建人
[ModifyTime] Datetime,--修改时间
[ModifyName] VARCHAR(50)--修改人
);
--收据表
CREATE TABLE [Receipt] (
[ReceiptID] INTEGER PRIMARY KEY,--收据ID
[CompanyID] INTEGER,--公司ID
[Number] INTEGER NOT NULL,--票号
[CustomID] INTEGER NOT NULL,--客户编号
[CustomName] VARCHAR(50) NOT NULL,--客户名称
[FeeID] VARCHAR(50) NOT NULL,--收费项
[FeeName]VARCHAR(200)NOT NULL,--收费项名称
[Total] NUMERIC(18,2) NOT NULL,--收费金额
[TotalWord]VARCHAR(100) NOT NULL,--金额大写
[Memo] VARCHAR(200) ,--备注
[FeeTime] Datetime NOT NULL,--收费日期
[Brokerage] VARCHAR(50) NOT NULL,--经手人
[Accounting] VARCHAR(50) NOT NULL,--会计
[Status] VARCHAR(10) NOT NULL,--出纳
[CancelTime] datetime,--作废日期
[CancelName] VARCHAR(50) --作废人
);
--日志表
CREATE TABLE [Log] (
[LogID] INTEGER PRIMARY KEY,--日志编号
[CompanyID] int NOT NULL,--公司编号
[LogInfo] VARCHAR(200) NOT NULL,--日志信号
[LogTime] datetime NOT NULL,--日志时间
[CreateName]VARCHAR(50) NOT NULL --创建人名称
);
--异常信息表
CREATE TABLE [ExceptionInfo] (
[ID] INTEGER PRIMARY KEY,--信息编号
[Message] VARCHAR(200) NOT NULL,--异常信息
[Time] Datetime NOT NULL,--异常时间
[Status] Varchar(10) NOT NULL --是否处理
);

SQLite 的使用的更多相关文章

  1. 【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】

    由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库 ...

  2. UWP开发之ORM实践:如何使用Entity Framework Core做SQLite数据持久层?

    选择SQLite的理由 在做UWP开发的时候我们首选的本地数据库一般都是Sqlite,我以前也不知道为啥?后来仔细研究了一下也是有原因的: 1,微软做的UWP应用大部分也是用Sqlite.或者说是微软 ...

  3. 深入解析Sqlite的完美替代者,android数据库新王者——Realm

    写在前面: 又到一年一度七夕虐狗节,看着大家忍受着各种朋友圈和QQ空间还有现实生活中的轮番轰炸,我实在不忍心再在这里给大家补刀,所以我觉得今天不虐狗,继续给大家分享有用的. 如果你比较关心androi ...

  4. VS15 preview 5打开文件夹自动生成slnx.VC.db SQLite库疑惑?求解答

    用VS15 preview 5打开文件夹(详情查看博客http://www.cnblogs.com/zsy/p/5962242.html中配置),文件夹下多一个slnx.VC.db文件,如下图: 本文 ...

  5. Android之SQLite数据存储

    一.SQLite保存数据介绍 将数据库保存在数据库对于重复或者结构化数据(比如契约信息)而言是理想之选.SQL数据库的主要原则之一是架构:数据库如何组织正式声明.架构体现于用于创建数据库的SQL语句. ...

  6. 【教程】SQLite数据库修复

    SQLite 大家都知道,就不多说了. 有时候数据量大了,或者存储过程中出现异常,数据库就可能会出问题. 这是以前公司产品出现过的问题,导致软件都打不开了,我花了不少时间才解决的,趁现在有空贡献出来. ...

  7. SQLite学习笔记(十)&&加密

    随着移动互联网的发展,手机使用越来越广泛,sqlite作为手机端存储的一种解决方案,使用也非常普遍.但是sqlite本身安全特性却比较弱,比如不支持用户权限,只要能获取到数据库文件就能进行访问:另外也 ...

  8. mono for android中使用dapper或petapoco对sqlite进行数据操作

    在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...

  9. 【腾讯Bugly干货分享】微信iOS SQLite源码优化实践

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57b58022433221be01499480 作者:张三华 前言 随着微信iO ...

  10. 【腾讯Bugly干货分享】移动客户端中高效使用SQLite

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57b57f2a0703f7d31b9a3932 作者:赵丰 导语 iOS 程序能 ...

随机推荐

  1. 清北学堂模拟赛d6t3 反击数

    分析:显然是一道数位dp题,不过需要一些奇怪的姿势.常规的数位dp能统计出一个区间内满足条件的数的个数,可是我们要求第k个,怎么办呢?转化为经典的二分问题,我们二分当前数的大小,看它是第几大的,就可以 ...

  2. HDU - 1403 - Longest Common Substring

    先上题目: Longest Common Substring Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  3. SIM900A 发送AT+CSTT 总是 返回Error的原因分析

    检查 模块的供电是否正常 本例 修改供电后 联网恢复正常.

  4. URIEncoding和useBodyEncodingForURI区别

    本文章会从tomcat的源码角度来解析Tomcat的两个参数设置URIEncoding和useBodyEncodingForURI. 对于一个请求,常用的有两种编码方式,如下: Java代码   &l ...

  5. 最短路径--Floyd算法

    Floyd算法 1.定义概览 Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被 ...

  6. 一次MySQL(INNODB存储引擎) 死锁捉虫记

    前言 任何系统不管在什么阶段都需要关注生产环境错误日志,最近几个月内,发现偶尔会出现数据库死锁情况.以前碰到的数据库类错误大部分是SQL语法造成的错误,来到新东家之后才第一次碰到死锁情况,以前是搞游戏 ...

  7. 清楚windows 网络密码

    在windows上访问其它机器共享的文件时,第一次通常要输入用户名密码. 第二次再访问就不用了,因为windows会记住这个用户名和密码.  这样虽然很方便,不过有时也会有些问题.比如你想用其它的用户 ...

  8. Android:开机自启动并接收推送消息

    接收推送消息部分我们通过ZeroMQ实现,可以参考http://www.cnblogs.com/ilovewindy/p/3984283.html. 首先是开机自启动的功能实现,代码如下:1.     ...

  9. 设计模式C++实现——外观模式

    模式定义: 外观模式提供了一个统一的接口,用来訪问子系统中的一群接口.外观定义了一个高层接口,让子系统更easy使用. 模式结构: watermark/2/text/aHR0cDovL2Jsb2cuY ...

  10. DotNetBar.Bar作为容器使用的方法及Text更新原理

    DotNetBar.Bar作为容器使用的方法及Text更新原理                          老帅    一.容器用法   控件DevComponents.DotNetBar.Ba ...