//以下是连接的基本代码,你修改下,如果有帮助,望采纳奖励,谢谢!
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数据库。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)