SQLite基本(实例FileOrganizer2013.5.12)
import org.sqlite.JDBC;
Connection conn = null;
Statement stat;
ResultSet rs;
// 连接数据库
void connect() {
try {
// 连接SQLite的JDBC
Class.forName("org.sqlite.JDBC");
// 建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之
conn = DriverManager.getConnection("jdbc:sqlite:test.db");
stat = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
//JOptionPane.showMessageDialog(null,"已连接数据库");
if( null == conn){
JOptionPane.showMessageDialog(null,"连接数据库失败");
System.exit(1);
}
}
// 断开连接
void disconnect() {
try {
// rs.close();
conn.close();// 结束数据库的连接
} catch (SQLException e) {
e.printStackTrace();
}
//JOptionPane.showMessageDialog(null, "已断开数据库");
}
读取元数据和数据
private void showMetaData() {//显示数据表头以测试数据库连接
ResultSetMetaData rsmd; //取得元数据
try {
rs = stat.executeQuery("Select * From test");
rsmd = rs.getMetaData();
int ColumnCount = rsmd.getColumnCount();
for (int j = 1; j <= ColumnCount; j++) {
System.out.println(rsmd.getColumnName(j));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void showDataInTable() {//显示数据
//定义表格的数据模型
DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
try {
while (rs.next()) {
Vector newRow = new Vector();
int c = 1, numberOfColumns;
numberOfColumns = rs.getMetaData().getColumnCount();
while (c <= numberOfColumns) {
newRow.addElement(rs.getString(c));
c++;
}
dtm.addRow(newRow);
}
} catch (Exception e) {
e.printStackTrace();
}
}
查询指定行
select * from MAIN.[test] where rowid =10;
删除
String updateSql="delete from test where RecID ='"+(String)jTable1.getValueAt(jTable1.getSelectedRow(),0)+"'";
try {
stat.executeUpdate(updateSql);
showDataInTable();
System.out.println("已delete");
} catch (SQLException ex) {
ex.printStackTrace();
}
更新
int row = jTable1.getSelectedRow();
String updateSql="update test "// + "set Dept='sorry2"
+ "set Dept='"+jTextField2.getText()
+ "', SendID='"+jTextField3.getText()
+ "', Title='"+jTextField4.getText()
+ "', RecDate='"+jTextField5.getText()
+ "', Link='"+jTextField6.getText()
+ "' where RecID ='"+(String)jTable1.getValueAt(row,0)+"'";
try {
stat.executeUpdate(updateSql);
showDataInTable();
System.out.println("已save");
} catch (SQLException ex) {
ex.printStackTrace();
}
插入
String updateSql="insert into test VALUES("
+ "'"+jTextField1.getText()
+ "','"+jTextField2.getText()
+ "','"+jTextField3.getText()
+ "','"+jTextField4.getText()
+ "','"+jTextField5.getText()
+ "','"+jTextField6.getText()
+"')";
try {
stat.executeUpdate(updateSql);
showDataInTable();
}
SQLite基本(实例FileOrganizer2013.5.12)的更多相关文章
- C#操作SQLite方法实例详解
用 C# 访问 SQLite 入门(1) CC++C#SQLiteFirefox 用 C# 访问 SQLite 入门 (1) SQLite 在 VS C# 环境下的开发,网上已经有很多教程.我也是从 ...
- Java-Runoob-高级教程-实例-方法:12. Java 实例 – Enum(枚举)构造函数及方法的使用-um
ylbtech-Java-Runoob-高级教程-实例-方法:12. Java 实例 – Enum(枚举)构造函数及方法的使用 1.返回顶部 1. Java 实例 - Enum(枚举)构造函数及方法的 ...
- Java-Runoob-高级教程-实例-数组:12. Java 实例 – 数组差集
ylbtech-Java-Runoob-高级教程-实例-数组:12. Java 实例 – 数组差集 1.返回顶部 1. Java 实例 - 数组差集 Java 实例 以下实例演示了如何使用 remo ...
- Qt之操作数据库(SQLite)实例
QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持.QSqlDatabase对象象征了数据库的关联.Qt使用驱动 ...
- Java-Runoob-高级教程-实例-字符串:12. Java 实例 - 字符串优化
ylbtech-Java-Runoob-高级教程-实例-字符串:12. Java 实例 - 字符串优化 1.返回顶部 1. Java 实例 - 字符串优化 Java 实例 以下实例演示了通过 Str ...
- 学习SQLite之路(五) C/C++ SQLite开发实例
介绍一种乌班图中使用sqlite的用法,非常简单,下面的例子是在乌班图12.04中实现的: 1,先安装两个东西: sudo apt-get install sqlite sqlite3 sudo ap ...
- SQLite的介绍 操作Sqlite 具体实例
1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能 ...
- android SQLite 使用实例
Android作为眼下主流的移动操作系统,全然符合SQLite占用资源少的优势,故在Android平台上,集成了一个嵌入式关系型数据库-SQLite.假设想要开发 Android 应用程序,须要在 A ...
- 1级搭建类103-Oracle 12c 单实例 FS(12.2.0.1+RHEL 7)公开
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...
随机推荐
- BZOJ5306 [HAOI2018]染色 【组合数 + 容斥 + NTT】
题目 为了报答小 C 的苹果, 小 G 打算送给热爱美术的小 C 一块画布, 这块画布可 以抽象为一个长度为 \(N\) 的序列, 每个位置都可以被染成 \(M\) 种颜色中的某一种. 然而小 C 只 ...
- BZOJ3524 [Poi2014]Couriers 【主席树】
题目 给一个长度为n的序列a.1≤a[i]≤n. m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2.如果存在,输出这个数,否则输出0. 输入格式 第一 ...
- lcx 端口转发
1.查看3389端口开放情况: REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStati ...
- AngularJS实现TodoMVC
一个小的to do list,界面如下 首先安装angular js,出现了无非安装到桌面的问题,安装到D盘了 npm install angular 文件结构: index.html: <!d ...
- 【转】Nodejs学习笔记(二)--- 模块
目录 简介及资料 自定义模块 创建一个自定义模块 调用自定义模块 exports和module.exports 区别 exports和module.exports 覆盖 其它... 简介及资料 通过N ...
- 2721: [Violet 5]樱花
2721: [Violet 5]樱花 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 547 Solved: 322[Submit][Status][D ...
- hihocoder #1419 : 后缀数组四·重复旋律4
#1419 : 后缀数组四·重复旋律4 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为长度为 N 的数构 ...
- APP漏洞扫描用地址空间随机化【转】
转自:http://www.cnblogs.com/alisecurity/p/6141575.html 前言 我们在前文<APP漏洞扫描器之本地拒绝服务检测详解>了解到阿里聚安全漏洞扫描 ...
- iOS关于本地推送
不多说 直接上代码 NSDate *now = [NSDate date]; UILocalNotification *reminderNotification = [[UILocalNoti ...
- python第三方库安装和卸载
库的安装与卸载 pip install requests pip uninstall requests 查看安装好的库 pip list 第三方库的各种安装方式如下: 一.包管理器 Python有 ...