android怎么连接sqlite数据库

android怎么连接sqlite数据库,第1张

//以下是连接的基本代码,你修改下,如果有帮助,望采纳奖励,谢谢!

 

    public class SQLiteActivity extends Activity {    

    / Called when the activity is first created /     

    private Button createButton;      

    private Button insertButton;      

    private Button updateButton;      

    private Button updateRecordButton;        

    private Button queryButton;       

    @Override     

    public void onCreate(Bundle savedInstanceState) {     

        superonCreate(savedInstanceState);       

        setContentView(Rlayoutmain);        

        createButton = (Button)findViewById(RidcreateDatabase);     

        updateButton = (Button)findViewById(RidupdateDatabase);     

        insertButton = (Button)findViewById(Ridinsert);     

        updateRecordButton = (Button)findViewById(Ridupdate);       

        queryButton = (Button)findViewById(Ridquery);       

        createButtonsetOnClickListener(new CreateListener());        

        updateButtonsetOnClickListener(new UpdateListener());        

        insertButtonsetOnClickListener(new InsertListener());        

        updateRecordButtonsetOnClickListener(new UpdateRecordListener());        

        queryButtonsetOnClickListener(new QueryListener());      

    }     

    class CreateListener implements OnClickListener{      

        @Override     

        public void onClick(View v) {     

            //创建一个DatabaseHelper对象        

            DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivitythis,"test_mars_db");     

            //只有调用了DatabaseHelper对象的getReadableDatabase()方法,或者是getWritableDatabase()方法之后,才会创建,或打开一个数据库        

            SQLiteDatabase db = dbHelpergetReadableDatabase();       

        }     

    }     

    class UpdateListener implements OnClickListener{      

      

        @Override     

        public void onClick(View v) {     

            DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivitythis,"test_mars_db",2);       

            SQLiteDatabase db = dbHelpergetReadableDatabase();       

        }     

              

    }     

    class InsertListener implements OnClickListener{      

      

        @Override     

        public void onClick(View v) {     

            //生成ContentValues对象       

            ContentValues values = new ContentValues();       

            //想该对象当中插入键值对,其中键是列名,值是希望插入到这一列的值,值必须和数据库当中的数据类型一致        

            valuesput("id", 1);      

            valuesput("name","zhangsan");        

            DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivitythis,"test_mars_db",2);       

            SQLiteDatabase db = dbHelpergetWritableDatabase();       

            //调用insert方法,就可以将数据插入到数据库当中       

            dbinsert("user", null, values);      

        }     

    }     

    //更新 *** 作就相当于执行SQL语句当中的update语句      

    //UPDATE table_name SET XXCOL=XXX WHERE XXXXCOL=XX       

    class UpdateRecordListener implements OnClickListener{        

      

        @Override     

        public void onClick(View arg0) {      

            // TODO Auto-generated method stub        

            //得到一个可写的SQLiteDatabase对象     

            DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivitythis,"test_mars_db");     

            SQLiteDatabase db = dbHelpergetWritableDatabase();       

            ContentValues values = new ContentValues();       

            valuesput("name", "zhangsanfeng");       

            //第一个参数是要更新的表名        

            //第二个参数是一个ContentValeus对象     

            //第三个参数是where子句       

            dbupdate("user", values, "id=", new String[]{"1"});     

        }     

    }     

    class QueryListener implements OnClickListener{       

      

        @Override     

        public void onClick(View v) {     

            Systemoutprintln("aaa------------------");      

            Logd("myDebug", "myFirstDebugMsg");      

                  

            DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivitythis,"test_mars_db");     

            SQLiteDatabase db = dbHelpergetReadableDatabase();       

            Cursor cursor = dbquery("user", new String[]{"id","name"}, "id=", new String[]{"1"}, null, null, null);     

            while(cursormoveToNext()){       

                String name = cursorgetString(cursorgetColumnIndex("name"));        

                Systemoutprintln("query--->" + name);       

            }     

        }     

    }     

          

}

一、关于SQLite ADONET: SystemDataSQLite 是一个原始 SQLite 的加强版。它不需要链接 NET Runtime,因此可脱离 NET 独立发布,它内嵌了一个完整的 ADONET 20 引擎,为开发提供了完整的支持。

二、在C#中使用SQLite

1 添加引用: SystemDataSQLiteDLL 。

2 创建数据库文件: SQLiteConnectionCreateFile(fileName);

3 连接数据库: var connection = new SQLiteConnection(connectionString);

connectionString 中包含了数据库的一些配置信息,比如数据库文件路径,数据库密码等,可用 SQLiteConnectionStringBuilder 来创建 connectionString,当然也有其他方法,都很简单。

4 从数据库读取数据。

三、代码:

view sourceprint

// 注意此处 using 。

using System;

using SystemDataSQLite;

using SystemText;

namespace ConsoleApplication

{

public class SQLiteTester

{

public static void Test()

{

// 1创建一个数据库文件。

var databaseFileName = "D:/testdb3";

SQLiteConnectionCreateFile(databaseFileName);

// 2创建数据库连接。

var connectionString = new SQLiteConnectionStringBuilder

{

DataSource = databaseFileName,

Password = "xxxxxx" // 此处假设数据库密码为: xxxxxx。

};

// 当然也可以直接: var connection = new SQLiteConnection("data source=" + databaseFileName + ";password=" + Password);

using (var connection = new SQLiteConnection(connectionStringToString()))

{

// 3打开连接。

connectionOpen();

这种方式通常连接一个外部的数据库,第一个参数就是数据库文件,这个数据库不是当前项目中生成的,通常放在项目的Assets目录下,当然也可以在手机内,如上面参数那个目录,前提是那个文件存在且你的程序有访问权限。

另一种使用数据库的方式是,自己创建数据库并创建相应的数据库表,参考下面的代码:

public class DatabaseHelper extends SQLiteOpenHelper {

//构造,调用父类构造,数据库名字,版本号(传入更大的版本号可以让数据库升级,onUpgrade被调用)

public DatabaseHelper(Context context) {

super(context, DatabaseConstantDATABASE_NAME, null, DatabaseConstantDATABASE_VERSION);

}

//数据库创建时调用,里面执行表创建语句

@Override

public void onCreate(SQLiteDatabase db) {

dbexecSQL(createVoucherTable());

}

//数据库升级时调用,先删除旧表,在调用onCreate创建表

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

dbexecSQL("DROP TABLE IF EXISTS " + DatabaseConstantTABLE_NAME);

onCreate(db);

}

//生成 创建表的SQL语句

private String createVoucherTable() {

StringBuffer sb = new StringBuffer();

sbappend(" CREATE TABLE ")append(DatabaseConstantTABLE_NAME)append("( ")append(“ID”)

append(" TEXT PRIMARY KEY, ")

append(“USER_ID”)append(" INTEGER, ")append(“SMS_CONTENT”)append(" TEXT ) ");

return sbtoString();

}

}

继承SQLiteOpenHelper并实现里面的方法

之后:

//得到数据库助手类

helper = new DatabaseHelper(context);

//通过助手类,打开一个可读写的数据库连接

SQLiteDatabase database = helpergetReadableDatabase();

//查询表中所有记录

databasequery(DatabaseConstantTABLE_NAME, null, null, null, null, null, null);

sorry, 没安装"sqlite developer"

若只是想导出sqlite数据库中的表数据可以很简单地用sqlite命令:

tim@ubtim:~/workspace$ sqlite3

SQLite version 377 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_testcsv

sqlite> select from tb_test;

sqlite> q

tim@ubtim:~/workspace$ cat tb_testcsv

1,a

2,b

3,c

tim@ubtim:~/workspace$

装个sqlite的odbc驱动,然后跟连接其他数据库一样使用ADO连接就行了。

连接字符串是:Driver=SQLite3 ODBC Driver;Database=数据库路径。

以上就是关于android怎么连接sqlite数据库全部的内容,包括:android怎么连接sqlite数据库、c#中怎么连接到sqlite数据库、android怎么连接sqlite数据库。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10197460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存