当前位置:首页 » 参考文献 » sqlite读取数据库文件

sqlite读取数据库文件

发布时间: 2021-03-18 02:46:25

A. 安卓中怎么读取sqlite的db文件的数据

安装SQLite Expert Professional 可以在网上下载,我下载的是试用版,没有找注册码,但是试用不影响使用,反正用几次查看到数据库操作没有错误就不用这个工具了。当然也可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看。android项目中的sqlite数据库位于/data/data/项目包/databases中。先介绍使用DDMS导出sqlite数据库的操作和使用adb工具访问sqlite数据库。
首先打开android项目的调试模式,然后找到显示DDMS

切换到DDMS,显示File Explorer窗口,找到/data/data/ 如下图1 ,
然后找到程序包的文件夹,打开databases,就能看到sqlite数据库文件了。选择将其导出。如下图2.
这样就把sqlite数据库文件以文件的方式导出来了,然后使用sqlite界面管理工具如SQLite Expert Professional可以打开该数据库了。其他 sqlite界面管理工具如sqlite administrator、sqlite man或者firefox插件sqlite manager也可以打开该数据库。

使用adb工具访问sqlite数据库
Android Debug Bridge(ADB)是Android的一个通用调试工具,它可以更新设备或模拟器中的代码,可以管理预定端口,可以在设备上运行shell命令,我们 知道android是基于Linux内核,它的内部文件结构也是采用linux文件组织方式,因此访问它的文件结构需要使用shell。这次我们就会用 shell来访问android应用中的sqlite数据库文件。
1、运行cmd,切换到android-sdk目录,运行adb.exe,加上参数shell,出现#号就代表进入了shell命令模式,注意adb要在Android模拟器运行时才能进入shell:如下图

进入数据库所在目录:
shell命令记住两个基本命令ls和cd,类似windows命令提示行中的dir和cd,代表列出当前目录下文件列表和进入到指定目录。了解这两个命令之后,就可以找到data/data/项目包名/databases 如下图1, 找到数据库文件如下图2。

使用sqlite管理工具来进行数据库操作
键入sqlite3 数据库名就进入了sqlite管理模式了。
如下图

设置sqlite环境变量:
在android的sdk中自带了sqlite3.exe,这是sqlite的官方管理工具,它是一个命令行工具。为了使用方便,将其路径注册到系 统环境变量path中,即将;%Android_Home%加在Path中,这样只样运行sqlite3,就能直接打开sqlite管理工具了。
如下图:

8
使用sqlite管理数据库:
sqlite命令行工具默认是以;结束语句的。所以如果只是一行语句,要在末尾加;,或者在下一行中键入;,这样sqlite命令才会被执行。
sqlite常用命令:
.tables--查看数据库的表列表
.exit--退出sqlite命令行
其他命令可随时.help查看帮助。sql命令可直接在此命令行上执行即可:

B. 如何读取sqllite数据库

1、添加右键引用NUGet包 安装VICI CoolStorage
2、此时可以看到引用中多两个文件Vici.CoolStorage.WP8 和Vici.Core.WP8
3、
public class SQLite
{
private static SQLite _instance;
public static SQLite getInstance()
{
if (_instance == null)
_instance = new SQLite();
return _instance;
}
public SQLite()
{
}

///// <summary>
///// 通过!iStorage.FileExists(fn)保证 程序第一次
///// 运行的时候才会将数据库复制
///// 到隔离存储空间中,
///// fn为复制的数据库路径及名称
///// </summary>
///// <param name="fn"></param>
//private void move(string fn)
//{
// //StreamResourceInfo sr = Application.GetResourceStream(new Uri(fn, UriKind.Relative));
// IsolatedStorageFile iStorage = IsolatedStorageFile.GetUserStoreForApplication();
// if (!iStorage.FileExists(fn))
// {
// using (var outputStream = iStorage.OpenFile(fn, System.IO.FileMode.CreateNew))
// {
// byte[] buffer = new byte[10000];
// for (; ; )
// {
// int read = sr.Stream.Read(buffer, 0, buffer.Length);
// if (read <= 0)
// break;
// outputStream.Write(buffer, 0, read);
// }
// }
// }
//}
/// <summary>
/// 将文件存储到独立存储空间
/// </summary>
/// <param name="assemblyName">项目名</param>
/// <param name="dbName">文件名</param>
private void CopyFromContentToStorage(string assemblyName, String dbName)
{
IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
System.IO.Stream src = Application.GetResourceStream(new Uri("/" + assemblyName + ";component/DataBase/" + dbName, UriKind.Relative)).Stream;
IsolatedStorageFileStream dest = new IsolatedStorageFileStream(dbName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write, store);
src.Position = 0;
CopyStream(src, dest);
dest.Flush();
dest.Close();
src.Close();
dest.Dispose();
}
/// <summary>
/// 复制流
/// </summary>
/// <param name="input"></param>
/// <param name="output"></param>
private static void CopyStream(System.IO.Stream input, IsolatedStorageFileStream output)
{
byte[] buffer = new byte[32768];
long TempPos = input.Position;
int readCount;
do
{
readCount = input.Read(buffer, 0, buffer.Length);
if (readCount > 0)
{
output.Write(buffer, 0, readCount);
}
} while (readCount > 0);
input.Position = TempPos;
}

/// <summary>
/// 查询区域信息表中的所有数据信息
/// </summary>
/// <param name="sTableName">表名称</param>
/// <param name="sWhere">查询条件</param>
/// <param name="sOrder"></param>
/// <returns></returns>
public CSGenericRecordList queryAllData(String sSelect, String sTableName, String sWhere, String sOrder)
{
string strSql = string.Empty;
strSql += "SELECT " +sSelect+" FROM " + sTableName;
if (!sWhere.Equals(""))
{
strSql = strSql + " WHERE " + sWhere;
}
if (!sOrder.Equals(""))
{
strSql=strSql+" ORDER BY "+sOrder;
}
//move(fn);
CopyFromContentToStorage("PingAn_WP", "FinancialTel.db");
//设置使用的数据库
CSConfig.SetDB("FinancialTel.db");
CSGenericRecordList arealist = CSDatabase.RunQuery(strSql);
return arealist;
}
}
4、 调用
protected override void OnNavigatedTo(NavigationEventArgs e)
{
SQLite sqlLite = new SQLite();
CSGenericRecordList cslis = sqlLite.queryAllData("distinct level2,tel", "pingan", "level3=''", "sort");
lb_Main.ItemsSource = from cs in cslis select new PingAn_Model(cs["level2"].ToString(), cs["tel"].ToString());
//PingAn_Model是一个对象
base.OnNavigatedTo(e);
}

C. sqlite 的数据库文件在什么地方

  1. (内存的/data/data/<package name/databases>目录中

  2. 要在Android系统中操作SQLite数据库,是通过Android的核心类SQLiteDatabase类来实现的,通常情况下为了数据库升级的需要以及使用方便,我们会选择继承SQLiteOpenHelper抽像类,但是SQLiteOpenHelper会将数据库文件创建在一个固定的目录,如果你想使用已经存在的数据库文件也就是说数据库会和程序一起发布,就得通过使用SQLiteDabase的静态方法OpenOrCreateDatabase()方法来得到SQLiteDabase对象,

  3. 下面是一个具体操作类:

  4. package net.my.;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import net.my.jokebook.R;
    import android.app.Activity;
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    public class DBHelper {
    //得到SD卡路径
    private final String DATABASE_PATH = android.os.Environment
    .getExternalStorageDirectory().getAbsolutePath()
    + "/joke";
    private final Activity activity;
    //数据库名
    private final String DATABASE_FILENAME;
    public DBHelper(Context context) {
    // TODO Auto-generated constructor stub
    //这里直接给数据库名
    DATABASE_FILENAME = "jokebook.db3";
    activity = (Activity)context;
    }
    //得到操作数据库的对象
    publicSQLiteDatabase openDatabase()
    {
    try
    {
    boolean b = false;
    //得到数据库的完整路径名
    String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
    //将数据库文件从资源文件放到合适地方(资源文件也就是数据库文件放在项目的res下的raw目录中)
    //将数据库文件复制到SD卡中 File dir = new File(DATABASE_PATH);
    if (!dir.exists())
    b = dir.mkdir();
    //判断是否存在该文件
    if (!(new File(databaseFilename)).exists())
    {
    //不存在得到数据库输入流对象
    InputStream is = activity.getResources().openRawResource(
    R.raw.jokebook);
    //创建输出流
    FileOutputStream fos = new FileOutputStream(databaseFilename);
    //将数据输出
    byte[] buffer = new byte[8192];
    int count = 0;
    while ((count = is.read(buffer)) > 0)
    {
    fos.write(buffer, 0, count);
    }
    //关闭资源
    fos.close();
    is.close();
    }
    //得到SQLDatabase对象
    SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(
    databaseFilename, null);
    return database;
    }
    catch (Exception e)
    {
    System.out.println(e.getMessage());
    }
    return null;
    }
    }
    写完这个类之后,就能得到SQLiteDatabase对象,就能对数据库操作了

D. sqlite怎么连接数据库文件

sorry, 没安装"sqlite developer".
若只是想导出sqlite数据库中的表数据可以很简单地用sqlite命令:
tim@ubtim:~/workspace$ sqlite3
SQLite version 3.7.7 2011-06-23 19:49:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table tb_test (field int, val varchar(3));
sqlite> insert into tb_test values (1, 'a');
sqlite> insert into tb_test values (2, 'b');
sqlite> insert into tb_test values (3, 'c');
sqlite> .mode csv
sqlite> .output tb_test.csv
sqlite> select * from tb_test;
sqlite> .q
tim@ubtim:~/workspace$ cat tb_test.csv
1,a
2,b
3,c
tim@ubtim:~/workspace$

E. 如何用Java读写SQLite数据库文件,在Windows环境

首先需要这个包,添加到工程。

下面给你示例代码

importjava.sql.*;

publicclassSQLiteDemo{

publicstaticvoidmain(String[]args){
try{
//连接SQLite的JDBC
Class.forName("org.sqlite.JDBC");
//建立一个数据库名data.db的连接,如果不存在就在当前目录下创建之
Connectionconn=DriverManager.getConnection("jdbc:sqlite:data.db");
conn.setAutoCommit(false);
Statementstat=conn.createStatement();

stat.executeUpdate("createtableifnotexiststbl1(namevarchar(20),salaryint);");//创建一个表,两列
stat.executeUpdate("insertintotbl1values('ZhangSan',8000);");//插入数据
stat.executeUpdate("insertintotbl1values('LiSi',7800);");
stat.executeUpdate("insertintotbl1values('WangWu',5800);");
stat.executeUpdate("insertintotbl1values('ZhaoLiu',9100);");

ResultSetrs=stat.executeQuery("select*fromtbl1;");//查询数据

while(rs.next()){//将查询到的数据打印出来
System.out.print("name="+rs.getString("name")+"");//列属性一
System.out.println("salary="+rs.getString("salary"));//列属性二
}
rs.close();
conn.commit();
conn.close();//结束数据库的连接
}
catch(Exceptione)
{
e.printStackTrace();
}
}
}


F. sqlite数据库文件 电脑怎么打开

单的复说,一个文件就是一个数制据库。文件名就是数据库名称。所以,你可以自己先创建数据库和表,插入数据等等,都是以一个文件形式存放的。之后,你的项目,就可以直接做查询就可以了。如果项目期间不需要修改数据的话。 用eclipse开发时,android模拟器打开后,可以在android设备相应的data/db类似文件夹里查看该数据库文件,以.db为后缀的文件

G. php中如何读取sqlite数据库文件的数据

//sqlite2:
$db_name = 'test.db';
$conn = new SQLiteDatabase($db_name);
//$conn->Query( "CREATE TABLE test ( id INTEGER NOT NULL PRIMARY KEY , title VARCHAR ( 25 ) NOT NULL , content VARCHAR ( 50 ) NOT NULL )" );
//$conn->Query( "INSERT INTO test (title, content) VALUES ('caisangzi','raytang')" );
$sql = 'select * from test';
$result = $conn->arrayQuery($sql);
var_mp($result);
//sqlite3:
$db_name = 'sqlite3.db';
$conn = new sqlite3($db_name);
$sql = 'select * from ``';
$result = $conn->query($sql)->fetcharray();

var_mp($result);
注意:似乎sqlite2模块不支持`这个特义标记

H. sqlite的数据库文件放在程序哪里

要在Android系统中操作SQLite数据库,是通过Android的核心类SQLiteDatabase类来实现的,通常情况下为了数据库升级的需要以及使用方便,我们会选择继承SQLiteOpenHelper抽像类,但是SQLiteOpenHelper会将数据库文件创建在一个固定的目录(内存的/data/data/<package name/databases>目录中),如果你想使用已经存在的数据库文件也就是说数据库会和程序一起发布,就得通过使用SQLiteDabase的静态方法OpenOrCreateDatabase()方法来得到SQLiteDabase对象,下面是一个具体操作类:
package net.my.;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import net.my.jokebook.R;
import android.app.Activity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
public class DBHelper {
//得到SD卡路径
private final String DATABASE_PATH = android.os.Environment
.getExternalStorageDirectory().getAbsolutePath()
+ "/joke";
private final Activity activity;
//数据库名
private final String DATABASE_FILENAME;
public DBHelper(Context context) {
// TODO Auto-generated constructor stub
//这里直接给数据库名
DATABASE_FILENAME = "jokebook.db3";
activity = (Activity)context;
}
//得到操作数据库的对象
public SQLiteDatabase openDatabase()
{
try
{
boolean b = false;
//得到数据库的完整路径名
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
//将数据库文件从资源文件放到合适地方(资源文件也就是数据库文件放在项目的res下的raw目录中)
//将数据库文件复制到SD卡中 File dir = new File(DATABASE_PATH);
if (!dir.exists())
b = dir.mkdir();
//判断是否存在该文件
if (!(new File(databaseFilename)).exists())
{
//不存在得到数据库输入流对象
InputStream is = activity.getResources().openRawResource(
R.raw.jokebook);
//创建输出流
FileOutputStream fos = new FileOutputStream(databaseFilename);
//将数据输出
byte[] buffer = new byte[8192];
int count = 0;
while ((count = is.read(buffer)) > 0)
{
fos.write(buffer, 0, count);
}
//关闭资源
fos.close();
is.close();
}
//得到SQLDatabase对象
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(
databaseFilename, null);
return database;
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
return null;
}
}
写完这个类之后,就能得到SQLiteDatabase对象,就能对数据库操作了

I. 如何读取 sqlite3 sqlite3

sqlite是一个嵌入式的SQL数据库引擎,只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据库,在Mozilla Firefox使用SQLite作为数据库。
例如:存放cookies的文件就是一个SQLite的数据库文件,一般存在于 ~/.mozilla/firefox/cojs83dh.default目录下,那么如何进行查看呢?
可使用vim打开文件,查看到使用的格式是sqlite3,而在GNU Linux下有一个命令可以对其进行查看:sqlite3,以下就是具体的使用步骤:
0、使用命令对此数据库进行打开:
$ sqlite3 cookies.sqlite
进行入sqlite3命令行模式;
1、查看此文件中的数据库的名称:
sqlite> .databases
seq name file
--- --------------- ----------------------------------------------------------
0 main /home/ufo/.mozilla/firefox/cojs83dh.default/cookies.sqlite
2、再查看此文件中已经存在数据表:
sqlite> .tables
moz_cookies
可看到此文件中包含一个表,名为moz_cookies;
3、查看此表中的字段名称:
sqlite> .schema moz_cookies
CREATE TABLE moz_cookies (id INTEGER PRIMARY KEY, baseDomain TEXT, appId INTEGER DEFAULT 0, inBrowserElement INTEGER DEFAULT 0, name TEXT, value TEXT, host TEXT, path TEXT, expiry INTEGER, lastAccessed INTEGER, creationTime INTEGER, isSecure INTEGER, isHttpOnly INTEGER, CONSTRAINT moz_uniqueid UNIQUE (name, host, path, appId, inBrowserElement));
CREATE INDEX moz_basedomain ON moz_cookies (baseDomain, appId, inBrowserElement);
4、显示表内的数据条目:
sqlite> .mode line
以上这句表示输出表项的显示模式为每一个字段一行的模式进行显示;
以下语句将输出类似于以下内容的表项条目:
sqlite> select * from moz_cookies;
id = 10
baseDomain = bing.com
appId = 0
inBrowserElement = 0
name = SRCHUID
value = V=2&GUID=
host = cn.bing.com
path = /
expiry = 1466758101
lastAccessed = 1404991858781769
creationTime = 1403686100491716
isSecure = 0
isHttpOnly = 0
id = 11
baseDomain = bing.com
appId = 0
inBrowserElement = 0
name = SRCHUSR
value = AUTOREDIR=0&GEOVAR=&DOB=20140624
host = .bing.com
path = /
expiry = 1466758101
lastAccessed = 1404991858781769
creationTime = 1403686100493026
isSecure = 0
isHttpOnly = 0

热点内容
涂鸦论文 发布:2021-03-31 13:04:48 浏览:698
手机数据库应用 发布:2021-03-31 13:04:28 浏览:353
版面217 发布:2021-03-31 13:04:18 浏览:587
知网不查的资源 发布:2021-03-31 13:03:43 浏览:713
基金赎回参考 发布:2021-03-31 13:02:08 浏览:489
悬疑故事范文 发布:2021-03-31 13:02:07 浏览:87
做简单的自我介绍范文 发布:2021-03-31 13:01:48 浏览:537
战略地图参考 发布:2021-03-31 13:01:09 浏览:463
收支模板 发布:2021-03-31 13:00:43 浏览:17
电气学术会议 发布:2021-03-31 13:00:32 浏览:731