C# SQLite数据库操作
WinCE项目开发 VS2008
自己写的SQLite数据库管理类代码如下:
SQLiteManager.cs
using System.Data;
using System.Data.SQLite;
using System.IO;
using System.Reflection; namespace TeachHMI
{
public class SQLiteManager
{
public SQLiteManager(string DataBaseName,string DataTableName)
{
this.dbName = DataBaseName;
this.dtName = DataTableName;
} //数据库文件名
string dbName;
//数据表名
string dtName;
string appPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
//数据库连接语句
string ConnStr;
//数据库连接
public SQLiteConnection conn;
//SQLiteCommand实例,用于对SQLite发出指令
SQLiteCommand command;
//SQLiteDataAdapter实例,用于将数据库数据填充至DataSet
SQLiteDataAdapter adapter;
//SQLiteDataReader实例,用于读取数据表中数据
SQLiteDataReader reader; /// <summary>
/// 数据库连接
/// </summary>
public void InitializeSQLite()
{
this.ConnStr = "Data Source=" + appPath + "\\" + dbName + ";Pooling=true;FailIfMissing=false";
conn = new SQLiteConnection(ConnStr);
//打开连接
conn.Open();
} /// <summary>
/// 创建数据表
/// </summary>
/// <param name="CreateCommand"></param>
public void CreateTable(string CreateCommand)
{
command = new SQLiteCommand(conn);
command.CommandText = "CREATE TABLE IF NOT EXISTS " + dtName + CreateCommand;
command.ExecuteNonQuery();
} /// <summary>
/// 执行SQL命令,返回受影响的行数
/// </summary>
/// <param name="Command">命令语句</param>
public void ExeNonQueryCmd(string Command)
{
command = new SQLiteCommand(conn);
command.CommandText = Command;
command.ExecuteNonQuery();
} /// <summary>
/// 执行SQL命令,返回SQLiteDataReader
/// </summary>
/// <param name="Command"></param>
/// <returns></returns>
public SQLiteDataReader ExeReaderCmd(string Command)
{
command = new SQLiteCommand(conn);
command.CommandText = Command;
reader = command.ExecuteReader(); //返回类型为SQLiteDataReader
return reader;
} /// <summary>
/// 填充DataSet
/// </summary>
/// <param name="ds"></param>
public void DataFill(DataSet ds)
{
adapter = new SQLiteDataAdapter("SELECT * FROM " + dtName, conn);
adapter.Fill(ds, dtName);
}
}
}
读取数据表中某单元格内数据:
public static SQLiteManager SQLlog;
public static SQLiteDataReader Reader;
int Num = int.Parse(dataGrid1[dataGrid1.CurrentRowIndex, ].ToString());
string SearchCmd = "SELECT * FROM InfoLog WHERE 序号=" + Num + "";
Reader = SQLlog.ExeReaderCmd(SearchCmd);
Reader.Read();
listView1.Items[].SubItems[].Text = Reader.GetString(); //得到数据表中序号为 Num 的这条记录中索引为 7 的列中数据
listView1.Items[].SubItems[].Text = Reader.GetString();
Reader.Close();
插入指令:INSERT INTO UserInfo VALUES 1,小李
更新指令:UPDATE UserInfo SET 用户ID=1
删除指令:DELETE FROM UserInfo WHERE 用户ID=2,姓名='小李'
C# SQLite数据库操作的更多相关文章
- 实验8 SQLite数据库操作
实验报告 课程名称 实验8 SQLite数据库操作 实验日期 2016.5.6 实验项目名称 多媒体应用开发 实验地点 S30010 实验类型 □验证型 √设计型 □综合型 学 时 一 ...
- 我的Android六章:Android中SQLite数据库操作
今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...
- [python]用Python进行SQLite数据库操作
用Python进行SQLite数据库操作 1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~ ]: u ...
- 安卓 SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- 在安卓开发中使用SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- iOS 中SQLite数据库操作
在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 ...
- sqlite数据库操作详细介绍 增删改查,游标
sqlite数据库操作详细介绍 增删改查,游标 本文来源于www.ifyao.com禁止转载!www.ifyao.com Source code package com.example ...
- 实验八 sqlite数据库操作
实验报告 课程名称 基于Android平台移动互联网开发 实验日期 2016年5月3日 实验项目名称 SQLite数据库操作 实验地点 S30010 实验类型 □验证型 √设计型 □综合型 ...
- windows phone 8.1开发SQlite数据库操作详解
原文出自:http://www.bcmeng.com/windows-phone-sqlite1/ 本文小梦将和大家分享WP8.1中SQlite数据库的基本操作:(最后有整个示例的源码)(希望能通过本 ...
- [Android] Sqlite 数据库操作 工具封装类
sqlite 数据库封装类 DatabaseUtil.java(封装的类) package com.jack.androidbase.tools; import android.content.Con ...
随机推荐
- mysql 权限管理 revoke 回收权限 命令
回收所有库,所有表的所有权限 revoke all on *.* from 针对mike的账号 回收 所有库,所有表的select权限 mysql> revoke select on *.* f ...
- dedecms获取当前文章所在栏目URL
我们知道dedecms有一个面包屑导航的调用函数,{dede:field name='position'/},这个样式是固定的,有时要个性化一些的话需要修改很多地方,那么织梦cms有没其他方法获取当前 ...
- SeaJS 与 RequireJS 的差异对比
这篇文章主要介绍了SeaJS 与 RequireJS 的差异对比,本文主要对CMD规范和AMD规范的弊端做了对比,并做出了一个总结,需要的朋友可以参考下 “历史不是过去,历史正在上演.随着 W3C 等 ...
- Scala系统学习(三):Scala基础语法
如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进 ...
- python 根据路径导入模块
Import python module NOT on path http://stackoverflow.com/questions/10161568/import-python-module-no ...
- POJ:3083 Children of the Candy Corn(bfs+dfs)
http://poj.org/problem?id=3083 Description The cornfield maze is a popular Halloween treat. Visitors ...
- Kafka核心组件
一.Kafka核心组件及工作方式 Producer :消息生产者,就是向kafka broker发消息的客户端 Consumer :消息消费者,向kafka broker取消息的客户端 Topic : ...
- html07
1.复习js的外部对象,DOM,BOMBOM window -location -Location对象 : href reload() -history -History :back() forwar ...
- Matlab中图像处理实例:灰度变换,空域滤波,频域滤波,傅里叶变换的实现
http://blog.sciencenet.cn/blog-95484-803140.html % %图像灰度变换 % f = imread('E:\2013第一学期课程\媒体计算\实验一\Img\ ...
- ASCII说明和ASCII对照表
ASCII 说明 ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符.标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字 ...