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. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...
随机推荐
- kubernetes-dashboard
1.导入kubernetes-dashboard 镜像 [root@node1 DNS]# docker load < kube-dashboard.tar 6bc90c4dba69: Load ...
- [AGC002D] Stamp Rally (并查集+整体二分)
Description 给你一个n个点m个条边构成的简单无向连通图,有Q组询问,每次询问从两个点x,y走出两条路径,使这两条路径覆盖z个点,求得一种方案使得路径上经过的变的最大编号最小. Input ...
- 洛谷 [P4301] 新Nim游戏
线性基 +博弈论 先手必胜当且仅当先手取完之后留下的序列无论如何组合,异或和都不为 0 也就是剩下的整数线性无关,所以我们对所有整数排序,由高往低的贪心的插入线性基, 无法插入的就有先手取出,容易发现 ...
- POJ1671 Rhyme Schemes
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 1776 Accepted: 984 Special Judge De ...
- VIM使用技巧3
假如有如下代码: var foo = "method("+argument1+","+argument2+")" 任务:在每个“+”前后各 ...
- 从零开始学习OpenCL开发(一)架构【转】
转自:http://blog.csdn.net/leonwei/article/details/8880012 多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/ ...
- Push pull, open drain circuit, pull up, pull down resistor
Push pull 就以下面這個 電路來說, 因為沒有 pull up resistor, 所以 output voltage 由 low 往 high 的速度會較快. 有兩個電晶體,一個on,一個 ...
- hdu 4956(思路题)
Poor Hanamichi Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 初次使用git,记录使用步骤
参考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 https://git ...
- (入门SpringBoot)SpringBoot结合定时任务task(十)
SpringBoot整合定时任务task 使用注解EnableScheduling在启动类上. 定义@Component作为组件被容器扫描. 表达式生成地址:http://cron.qqe2.com ...