sqliet

SQLDroid 是 Android 平台上的 SQLite 数据库的 JDBC 驱动程序。http://code.google.com/p/sqldroid/downloads/list
示例代码: // your datapath is /data/data/$package/
// e.g. "/data/data/com.lemadi.robotanks.android"
// note that if you want to put it in $datapath/databases/
// the way Activity.openOrCreateDatabase does it,
// you have to create the databases subfolder if not already
there String url = "jdbc:sqldroid:" + getDataPath() +
"/main.sqlite";
Connection con = DriverManager.getConnection(url);
con.createStatement().execute("CREATE TABLE MYTABLE (id INT, name
CHAR(200))");
try {
con.createStatement().execute("CREATE TABLE MYTABLE (id INT, name
CHAR(200))");
con.createStatement().execute("CREATE TABLE HIGH_SCORES (level
VARCHAR, name CHAR, time INT, timestamp INT)");
} catch (SQLException e1) {
System.out.println("error creating table: i guess they were already
there");
} con.createStatement().execute("INSERT INTO MYTABLE (id, name)
VALUES (100, 'klm')");
PreparedStatement ps = con.prepareStatement("INSERT INTO MYTABLE
(id, name) VALUES (?, ?)");
ps.setInt(1, (int)(Math.random() * 100));
ps.setString(2, "you're " + new
Integer((int)(Math.random()*1000)).toString() + " years
old.");
ps.executeUpdate();
ResultSet rs = con.createStatement().executeQuery("SELECT id, name
FROM MYTABLE ORDER BY name");
while(rs.next()) {
System.out.println("test row: " + rs.getInt(1) + " = " +
rs.getString(2));
System.out.println("test row string: " + rs.getInt("id") + " = " +
rs.getString("name"));
} rs.close();
// this method demonstrates the limited Metadata
functionality:
private static boolean tableExists(String tableName) {
ResultSet rs = con.getMetaData().getTables(null, null, tableName,
null);
// rs.next() returns true is there is 1 or more rows
return rs.next();
}

ndroid开发中,有时候要用的到是本地化的数据库,也就是说,我们要首先创建好数据库,然后将android应用要用到数据库导入数据,然后将该数据库导入android的应用中,而不是我们创建好了android应用以后,然后由应用再创建数据库的。

比如,我们有一个本地化的联系人的数据200条,我们要先将这200个数据导入数据库中。

 

一.用到工具

1. sqlite 驱动:http://www.zentus.com/sqlitejdbc/ ,用这个类库的时候,我们并不需要下载sqlite,进行安装!!

 

 

2.eclipse 3.2 中导入jar包,就是和我们平时导入jar包是一样的

3.可视化sqlite的管理工具 Navicat for SQLite

 

二. 创建一个数据库

     其实就是文件了,姑且就叫test.db,你可以手动,也可以代码。我的例子是用代码上创建的一个数据库。

     因为是文件型数据库,所以File file = new File(“test.db”) 就可以了

 

 

三 :测试代码

 

 

Java代码   收藏代码
  1. package endual;  
  2. import java.io.File;  
  3. import java.sql.*;  
  4.   
  5. //import org.sqlite.JDBC;  
  6. public class SqliteTest {  
  7.   
  8.     public static void main(String[] args) {  
  9.   
  10.         System.out.println("This is a SqliteTest program!");  
  11.   
  12.         //导入数据库驱动  
  13.         try {  
  14.   
  15.             Class.forName("org.sqlite.JDBC");  
  16.             System.out.println("Load sqlite Driver sucess!");  
  17.         }  
  18.         catch (java.lang.ClassNotFoundException e) {  
  19.   
  20.             System.out.println("Fail to Load sqlite Driver!");  
  21.             System.out.println(e.getMessage());  
  22.   
  23.         }  
  24.         try {  
  25.             //链接数据库  
  26.             String connectionString = "jdbc:sqlite:./test.db";  
  27.             Connection cn = DriverManager.getConnection(connectionString);  
  28.               
  29.             System.out.println("Connect sucessfully!");  
  30.             Statement stmt = cn.createStatement();  
  31.             // 创建数据库  
  32.             File testdb = new File("test.db");  
  33.             if (testdb.exists())  
  34.                 testdb.delete(); // 若有舊的則刪除之  
  35.             // 创建表  
  36.             stmt.execute("CREATE TABLE test(id integer primary key, name char(10))");  
  37.             // 插入数据  
  38.             stmt.execute("INSERT INTO test(id, name) VALUES(1, '1')");  
  39.             stmt.execute("INSERT INTO test(id, name) VALUES(2, '2')");  
  40.             // 查询数据  
  41.             ResultSet rs = stmt.executeQuery("SELECT * FROM test");  
  42.             while (rs.next()) {  
  43.                 String id = rs.getString("id");  
  44.                 String name = rs.getString("name");  
  45.                 System.out.println("id is " + id + " name is " + name);  
  46.             }  
  47.             // 关闭数据库资源  
  48.             stmt.close();  
  49.             cn.close();  
  50.   
  51.         }  
  52.   
  53.         catch (SQLException e) {  
  54.             System.out.println("Fail!");  
  55.             System.out.println(e.getMessage());  
  56.   
  57.         }  
  58.   
  59.     }  
  60.   
  61. }  

 

运行完毕以后,刷下工程,那么会发现多了一个文件数据库。

 

四:查看数据库

将数据库复制到桌面,用数据库可视化管理工具打开这个数据库查看就可以发现里面有数据了的。

 

 

----------

这里给两个网址可以看看示意图:

http://marshal.easymorse.com/archives/2399

 

你可能感兴趣的:(sql)