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 权限管理 记录
授权操作只能用root账号,其他账号都不行 创建一个mike账号 mysql'; Query OK, rows affected (0.08 sec) 查看是否创建账号 select * from m ...
- 如何控制dedecms描述的长度?
我们都知道调用dedecms的标题长度可以用titlelen='字符数',{dede:arclist titlelen='10'},表示标题长度为10个字符,也即是5个汉字.如果想要控制描述的调用长度 ...
- 1.cassandra的搭建
参考: https://blog.csdn.net/ch648966459/article/details/51671276
- SVN: is scheduled for addition, but is missing
删除文件夹后点commit提交,但是报错,报错内容如下:提示 "svn: Commit failed (details follow): svn: '/***/xxx.c' is sched ...
- Oracle数据库返回字符类型-1~1的结果处理
如果实体类中定义的字段是String类型,Oracle数据库中返回的是数字类型,那么Oracle返回0.xxx的时候会丢失前面的0. 要想不丢失0,那么数据库返回的就要是字符串类型的,所以要将返回值转 ...
- clothes
- git 下载单个文件 已经添加多个远程服务器
175down vote It is possible to do (in the deployed repository) git fetch followed by git checkout or ...
- Lintcode: Lowest Common Ancestor
Given the root and two nodes in a Binary Tree. Find the lowest common ancestor(LCA) of the two nodes ...
- Object之wait
一.源码. 1.公共本地,且可继承但不可重写. 2.公共,且可继承但不可重写. 3.公共,且可继承但不可重写. 二.解释. 1.因为这些方法是Object类中的非静态的public方法,而任何其他类都 ...
- lnmp之nginx1.10.2安装
linux下nginx的安装 为了后面避免缺失,还是什么都安装一下(后面安装php和mysql就不需要重复再执行下面这个了,当然你再执行一遍也没问题) [root@localhost src]# yu ...