gpt4 book ai didi

android - 如何连接到 .sql 文件中定义的现有数据库?

转载 作者:行者123 更新时间:2023-11-29 22:20:52 26 4
gpt4 key购买 nike

如果我们已经有了一个 .sql 格式的数据库文件,我们如何在我们的 android 应用程序中加载它并使用它的数据?

我也遇到了同样的问题,我按照 jaydeep 所说的做了。但我无法继续..请帮助我。我在此添加了 1 个方法来检索 1 条记录,如下所示:

public Cursor getTitle(String g,String k) throws SQLException { 
Cursor c = myDataBase.rawQuery(
"select * from titles where food LIKE '%"+g+"%' and area LIKE '%"+k+"%' ",
null);
if (c != null) {
c.moveToFirst();
}
return c;
}

其中 titles 是数据库中表的 id 名称 n 食品区 n 其余是字段。在主文件中我做了如下操作:

{
Datahelper myDbHelper = new Datahelper(this);
final String tem="Chinese";
final String tem2="Bur Dubai";

final ListView list = (ListView)findViewById(R.id.list);

try {
myDbHelper.createDataBase();
} catch (IOException ioe) {
throw new Error("Unable to create database");
}

try {
myDbHelper.openDataBase();
}catch(SQLException sqle){
throw sqle;
}
Cursor c = myDbHelper.getTitle(tem,tem2);

if (c.moveToFirst()) DisplayTitle(c);
else Toast.makeText(this, "No title found",
Toast.LENGTH_LONG).show();
}

public void DisplayTitle(Cursor c) {
final TextView ter=(TextView)findViewById(R.id.ter);
c.moveToPosition(0);
while (c.isAfterLast() == false) {
ter.append(c.getString(3)+"\n");
c.moveToNext();
}
c.close();
}

请帮帮我。

ListView 代码:

if (c.moveToFirst()) 
{
final String [] restarr=c.getColumnNames();

String[] fields = new String[] {db.KEY_REST};

list.setAdapter(new ArrayAdapter<String>(this, R.layout.main, restarr));

SimpleCursorAdapter rest = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_1,c,fields, new int[] {android.R.id.text1});

list.setAdapter(rest);
}

最佳答案

您需要数据库的 SQLite 版本。我敢打赌,您当前想要传送到应用程序的数据库具有使用纯 SQL 语法编写的模式,这与 SQLite 截然不同。

如果我的假设成立,那么您需要提取架构并将其转换为 SQLite。这需要对语法进行一些小改动,但逻辑保持不变。

这是一个很好的教程,说明如何在您的 Android 应用程序中传送外部本地数据库:

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

注意数据库文件的版本和扩展名。

关于android - 如何连接到 .sql 文件中定义的现有数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com