import java.sql.*;
/*
* JAVA连接ACCESS,SQL Server,MySQL,Oracle数据库
*
* */
public class JDBC {
public static void main(String[] args)throws Exception {
Connection conn=null;
//====连接ACCESS数据库====
//连接ACCESS(非ODBC连接模式)
//String dbURL ="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=f:/db1.mdb";
//连接ACCESS(ODBC -系统DSN连接模式)
//String dbURL="jdbc:odbc:odbcName";
//conn = DriverManager.getConnection(dbURL);//创建连接对象
//System.out.println("ACCESS数据库连接成功!");
//====连接SQL数据库====
/*
* String dbURL="jdbc:microsoft:sqlserver://localhost:数据库端口;DatabaseName=数据库名";
*
* */
//String dbURL="jdbc:microsoft ......
import java.sql.*;
/*
* JAVA连接ACCESS,SQL Server,MySQL,Oracle数据库
*
* */
public class JDBC {
public static void main(String[] args)throws Exception {
Connection conn=null;
//====连接ACCESS数据库====
//连接ACCESS(非ODBC连接模式)
//String dbURL ="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=f:/db1.mdb";
//连接ACCESS(ODBC -系统DSN连接模式)
//String dbURL="jdbc:odbc:odbcName";
//conn = DriverManager.getConnection(dbURL);//创建连接对象
//System.out.println("ACCESS数据库连接成功!");
//====连接SQL数据库====
/*
* String dbURL="jdbc:microsoft:sqlserver://localhost:数据库端口;DatabaseName=数据库名";
*
* */
//String dbURL="jdbc:microsoft ......
import java.sql.*;
/*
* JAVA连接ACCESS,SQL Server,MySQL,Oracle数据库
*
* */
public class JDBC {
public static void main(String[] args)throws Exception {
Connection conn=null;
//====连接ACCESS数据库====
//连接ACCESS(非ODBC连接模式)
//String dbURL ="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=f:/db1.mdb";
//连接ACCESS(ODBC -系统DSN连接模式)
//String dbURL="jdbc:odbc:odbcName";
//conn = DriverManager.getConnection(dbURL);//创建连接对象
//System.out.println("ACCESS数据库连接成功!");
//====连接SQL数据库====
/*
* String dbURL="jdbc:microsoft:sqlserver://localhost:数据库端口;DatabaseName=数据库名";
*
* */
//String dbURL="jdbc:microsoft ......
import java.sql.*;
/*
* JAVA连接ACCESS,SQL Server,MySQL,Oracle数据库
*
* */
public class JDBC {
public static void main(String[] args)throws Exception {
Connection conn=null;
//====连接ACCESS数据库====
//连接ACCESS(非ODBC连接模式)
//String dbURL ="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=f:/db1.mdb";
//连接ACCESS(ODBC -系统DSN连接模式)
//String dbURL="jdbc:odbc:odbcName";
//conn = DriverManager.getConnection(dbURL);//创建连接对象
//System.out.println("ACCESS数据库连接成功!");
//====连接SQL数据库====
/*
* String dbURL="jdbc:microsoft:sqlserver://localhost:数据库端口;DatabaseName=数据库名";
*
* */
//String dbURL="jdbc:microsoft ......
SQLite小巧的特点使其在嵌入式上利用很广泛。越来越多的移动设备上加入了SQLite模块,android,sysmbian, iphone,...下面的介绍让你快速步入SQLite的大门。
1. 下载
SQLite是开源的项目,所以你可以下载完速的源代码。开发的时候你可以把源代码嵌入你的工程当中,也可以用编译好的二进制文件。你可以在这儿下载SQLite.
2.建数据库
在命令行输入:sqlite3 test.db。 就可以创建一个名为test.db的数据库。
3.在程序中利用SQLite数据库
下面是一个简单的C程序, 展示了在C/C++中如何用SQLite。
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
int main(int argc, char **argv){
sqlite3 *db;
char *zErrMsg = 0;
int rc;
if( argc!=3 ){
fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
exit(1 ......
文章来源于http://blog.csdn.net/ast_224/archive/2009/01/08/3734099.aspx
Sqlite
常用函数:
1
、打开数据库:
说明:打开一个数据库,文件名不一定要存在,如果此文件不存在,
sqlite
会自动创建。第一个参数指文件名,第二个参数则是定义的
sqlite3 **
结构体指针(关键数据结构),这个结构底层细节如何,您不用管它。
int sqlite3_open( ......
1. 打开内存数据库
直接打开一个名为":memory:"或者 名字直接为空的数据库, 两种数据库略微有些区别。
参考 :http://www.sqlite.org/inmemorydb.html
2. 保存内存数据库
3. 判断表是否存在
通过查询系统表sqlite_master来获取相关信息
select * from sqlite_master where type='table' and name='表名' ......
Where is SQLite?
SQLite is available on the Android device itself. The executable is in the /system/bin directory of the device. You can see that this directory contains the shell commands like ls, ps, etc., as well as sqlite3, dalvikvm, and dexdump utilities.
Code Listing 1. Contents of system/bin
# pwd
pwd
/system/bin
# ls -l
ls -l
-rwxr-xr-x root root 196 2008-02-29 01:09 am
-rwxr-xr-x root root 2342 2008-02-29 01:09 dumpstate
-rwxr-xr-x root root 208 2008-02-29 01:09 input
-rwxr-xr-x root root 212 2008-02-29 01:09 monkey
-rwxr-xr-x root root 196 2008-02-29 01:09 pm
…
lrwxr-xr-x root root 2008-02-29 01:16 mount -> toolbox
lrwxr-xr-x root root 2008-02-29 01:16 notify -> toolbox
-rwxr-xr-x root root 28032 2008-02-29 01:16 dexdump
-rwxr-xr-x root root 7100 2008-02-29 01:16 dumpsys
-rwxr-xr-x root root 7904 2008-02-29 01:16 mem_profiler
-rwxr-xr-x root root 6480 2008-02-29 01:16 service
-rwxr-xr-x root root 4320 2008-02-29 01:16 rild ......
SQL-92特性方面
正如前面提到的,SQLite不支持SQL-92的在很多企业数据库系统中可用的一些特性。
如:
外键约束(可解析的,但非强制)
很多ALTER TABLE特性
一些TRIGGER相关的特性
RIGHT和FULL OUTER JOIN
更新一个VIEW
GRANT和REVOKE
你可以在SQLite的主页上获取最新信息。
http://www.sqlite.org/omitted.html
http://www.sqlite.org/cvstrac/wiki?p=UnsupportedSql
低并发操作
SQLite只支持平面事务;它没有嵌套和营救点能力。嵌套意味着在一个事务中可以有子事务的能力。营救点允许一个事务返回到前面已经到达的状态。它没有能力确保高层次事务的并发。它允许在单个的数据库文件上多个并发的读事务,但是只能有一个排他的写事务。这个局限性意味着如果有事务在读数据库文件的一部分,所有其他的事务将被禁止写该文件的任何一部分。类似的,如果有事务在写数据库文件的一部分,所有其他事务将被禁止读或者写该文件的任何一部分。
应用限制
因为它事务处理的有限并发,SQLite只擅长处理小型的事务。在很多情况下,这不是问题。每个应用迅速的完成它的数据库工作然后继续前进,因此没有一个事务会持有数据库超过多少毫秒。但是在一些应用中,特别是写入密集的 ......