SQLite问题。 。 急 。 高手进

qq513666573 2010-09-25 07:04:49
需求: 从一个数据库的某个表中获取数据往另外一个数据库的一个表中插.
因为数据量有点大 , 所以加载sql语句逐条insert不靠谱。 太耗时 。 找了半天找了个attach
但是不怎明白。 请高手教一下。 。 我用的sqlite developer , 还不会用命令行。
高手支个招。 。 小弟万谢
...全文
68 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
牛叔 2010-10-12
  • 打赏
  • 举报
回复
sqlite能不能实现???
qq513666573 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chenzhp 的回复:]

帮助文档有没有?
[/Quote]

有个attach 语句 . 可具体不知道怎么用.
KingWolfOfSky 2010-09-26
  • 打赏
  • 举报
回复
以前写的一个不知道能不能做参考


import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

public class DBAdapter {
private static final String DB = "Sample.db";
private static final String DB_CREATE_EXPEND = "create table Expend(ID integer primary key autoincrement,Type text,ExpendTime datatime,Amount real not null,Place text)";
private static final String DB_CREATE_INCOME = "create table Income(ID integer primary key autoincrement,Type text,IncomeTime datatime,Amount real not null)";

private Context context;
private SQLiteDatabase db;
private DBHelper dbHelper;

public DBAdapter(Context context) {
this.context = context;
dbHelper = new DBHelper(context, DB, null, 1);
open();
// createTable();
}

// 数据库操作
public void open() {
try {
db = dbHelper.getWritableDatabase();
} catch (SQLiteException ex) {
db = dbHelper.getReadableDatabase();
}
}

public void close() {
db.close();
}

public void insertExpend(Record newExpend) {
db.execSQL("insert into Expend(Type,ExpendTime,Amount,Place)values('"
+ newExpend.Type + "','" + newExpend.Time.getTime() + "',"
+ newExpend.Amount + ",'" + newExpend.Place + "')");
}

private Set<Record> searchExpend(String selection) {
Set<Record> records = new HashSet<Record>();
Cursor cursor = db.query("Expend", new String[] { "ID", "Type",
"ExpendTime", "Amount", "Place" }, selection, null, null, null,
null);
int Type = cursor.getColumnIndex("Type");
int ExpendTime = cursor.getColumnIndex("ExpendTime");
int Amount = cursor.getColumnIndex("Amount");
int Place = cursor.getColumnIndex("Place");
for (cursor.moveToFirst(); !(cursor.isAfterLast()); cursor.moveToNext()) {
Record newRecord = new Record(cursor.getString(Type), new Date(
new Long(cursor.getString(ExpendTime))), new Double(cursor
.getString(Amount)), cursor.getString(Place));
records.add(newRecord);
}
return records;
}


// 内部类
public class DBHelper extends SQLiteOpenHelper {
public DBHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DB_CREATE_EXPEND);
db.execSQL(DB_CREATE_INCOME);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// db.execSQL("drop table if exists User");
// onCreate(db);
}
}

}
chenzhp 2010-09-25
  • 打赏
  • 举报
回复
帮助文档有没有?
yyy025025025 2010-09-25
  • 打赏
  • 举报
回复
sqllite是轻量级的数据库,没有这种高可用性的功能。

期待有经验的兄弟来解答下吧。
qq513666573 2010-09-25
  • 打赏
  • 举报
回复
..............不要沉呀. . ..

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧