1.添加引用 System.Data.SQLite.dll

2.using System.Data.SQLite;

3.原理步骤:  

 string path = "c:\\mydb.db";
if (!File.Exists(path)) //1.如果数据库不存在,就创建数据库
{
SQLiteConnection.CreateFile(path);
}
SQLiteConnection conn = new SQLiteConnection("Data Source="+path); //2.连接数据库
conn.Open(); //3.打开数据库
SQLiteCommand comm = conn.CreateCommand(); //4.创建命令
comm.CommandText = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name='tablename'"; //5.给命令传sql语句,搜索tablename表是否存在
SQLiteDataReader reader = comm.ExecuteReader(); //6.执行命令
reader.Read(); //7.获取结果的"指针"
int num = reader.GetInt32(); //8.第一行数据的第0个值
reader.Close(); //关闭reader,如果不关闭,下面使用comm命令执行sql语句会报错
conn.Close(); //关闭连接

将txt中的数据写入到sqlite数据库中的函数。//参数file是txt文件的路径名

 static void TxtToSQLite(string file)
{
string path = "c:\\mydb.db";
string sqlData = "(";
if (!File.Exists(path))
{
SQLiteConnection.CreateFile(path);
}
SQLiteConnection conn = new SQLiteConnection("Data Source=" + path);
conn.Open();
SQLiteCommand comm = conn.CreateCommand(); StreamReader sReader = new StreamReader(file);
string strLine = sReader.ReadLine(); //读取文件的第一行
string tableName = "year" + strLine.Substring(, );
//如果数据库中没有这个表就创建一个
comm.CommandText = "CREATE TABLE IF NOT EXISTS " + tableName + "(ID integer, altitude double, longitude double, p4 integer, p5 integer, p6 integer, p7 integer, p8 integer, p9 integer, p10 integer, p11 integer, p12 integer, p13 integer)";
comm.ExecuteNonQuery();
while (strLine != null)
{
while (strLine.IndexOf(" ")!=-)
{
strLine = strLine.Replace(" ", " ");
}
strLine = strLine.Replace(" ", ",");
sqlData = sqlData+strLine+"),(";
strLine = sReader.ReadLine();
}
sqlData = sqlData.Remove(sqlData.Length - , );
comm.CommandText = "INSERT INTO " + tableName + " VALUES " + sqlData ;
try
{
comm.ExecuteNonQuery();
}
catch (System.Exception ex)
{
Debug.WriteLine(ex.Message);
}
sReader.Close();
conn.Close();
}

txt数据格式:

说明:sqlite_master 、 SQLITE_TEMP_MASTER(存储临时表)

  获得所有表的列表:

SELECT name FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type=’table’ ORDER BY name

下载:System.Data.SQLite.dll   http://files.cnblogs.com/files/lwngreat/System.Data.SQLite.rar

C#与SQLite数据库的更多相关文章

  1. Android之SQLite数据库篇

    一.SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大. 二.SQLite的特点 1.轻量级使用 SQLit ...

  2. Qt5 开发 iOS 应用之访问 SQLite 数据库

    开发环境: macOS 10.12.1 Xcode 8.1 Qt 5.8 iPhone 6S+iOS 10.1.1   源代码: 我在 Qt 程序里指定了数据库的名称来创建数据库,在 Win10.An ...

  3. 【Win 10 应用开发】Sqlite 数据库的简单用法

    如果老周没记错的话,园子里曾经有朋友写过如何在 UWP 项目中使用 Sqlite数据库的文章.目前我们都是使用第三方封装的库,将来,SDK会加入对 Sqlite 的支持. 尽管目前 UWP-RT 库中 ...

  4. Android之SQLite数据库使用

    转载整理于:http://my.csdn.net/lmj623565791 我刚开始接触Android的时候甚至都不敢相信,Android系统竟然是内置了数据库的!好吧,是我太孤陋寡闻了.由于我之前是 ...

  5. 让PDF.NET支持最新的SQLite数据库

    最近项目中用到了SQLite,之前项目中用的是PDF.NET+MySQL的组合,已经写了不少代码,如果能把写好的代码直接用在SQLite上就好了,PDF.NET支持大部分主流的数据库,这个当然可以,只 ...

  6. iOS sqlite数据库图像化查看

    问题描述:在xocde上用sqlite数据库的时候,因为没有图形化界面,有些时候很难看出自己设计的数据库是否有问题,比如我刚上手sqlite数据库设计id为自增长时,很自然的用了identify(1, ...

  7. Android中SQLite数据库小计

    2016-03-16 Android数据库支持 本文节选并翻译<Enterprise Android - Programing Android Database Applications for ...

  8. Android开发-之SQLite数据库

    之前我们讲了如何将数据存储在文件中,那么除了这种方式呢,就是我们常见的大家都知道的将数据存储在数据库当中了. 将数据存储在数据库中的优势: 1)存储在数据库中的数据更加方便操作,比如增.删.改.查等 ...

  9. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  10. Android开发学习——SQLite数据库与单元测试

    SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHelper  public class Myopenhelper extends SQLiteOpenHelp ...

随机推荐

  1. @synthesize

    @synthesize 相当于把属性当成成员变量来用,不用再写self.属性@synthesize myButton; 这样写了之后,那么编译器会自动生成myButton的实例变量,以及相应的gett ...

  2. Code Review中应该关注的点

    Magic number/string If statement, you should always use single line or brackets Provide default valu ...

  3. [poj2449]Remmarguts' Date(spfa+A*)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Remmarguts' Date Time Limit: 4000MS   Mem ...

  4. (原)lua提示cannot load incompatible bytecode

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5754872.html 前段时间用终端和zerobrane运行torch的lua程序.zerobrane ...

  5. shell中的expr命令

    expr 可以进行的操作如下: 逻辑操作 arg1 | arg2 逻辑或操作,真则返回arg1,否则返回arg2(以null或者0来判断参数的真假,有短路功能) arg1 & arg2 逻辑与 ...

  6. Js之Location对象

    Window对象的location属性引用的是Location对象,它表示该窗口中当前显示的文档的URL,并定义了方法来使窗口载入新的文档.Document对象的location属性也引用到Locat ...

  7. Hibernate中HQL的日期差值计算,可计算相差多少秒

    最近有个业务需求就是计算订单创建时间离现在超过 4 小时的订单都查找出来! 那么就需要用到日期函数了. 网上找了一下总共的日期函数有一下几个: CURRENT_DATE() 返回数据库当前日期 时间函 ...

  8. 快速下单!简化EcStore的购物结算流程

    EcStore拥有完善的购物车功能,方便顾客浏览挑选商品,但是在提交订单时必须要求用户先登录注册 如果是未注册用户还多出一个注册用户的步骤这些多出来的步骤和操作会影响购物下单的流畅性,降低了用户购物下 ...

  9. css选择表格偶数行

    css代码tr:nth-child(even){background:gray} 选择偶数行 tr:nth-child(even){background:gray} 选择奇数行  

  10. SSRS 请求并显示SharePoint人员和组字段

    场景: 使用Reporting Service请求SharePoint List,该list中包含人员和组字段.要求:只显示人员或组的display name.示例如下: 项目 参与人员 期望显示 项 ...