我在我的数据库中有三个表我想要显示所有表中的记录,但它在所有行中给出相同的数据,但我在所有表中输入了不同的数据。这是代码。当我显示数据时,它给出了我在上表中输入的相同记录。我想从每个表中调用随机数据。结果给出了我使用Random() limit 1
时的单个数据。但不是从所有表格中给出。 它给出了我在第三行输入的相同数据。我想从所有三个表格中获取单个记录。无法从sqlite获取多个表数据
package com.pawanigroup.myapplication;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class ViewPeople extends AppCompatActivity {
private TextView Starter;
private TextView MainCource;
private TextView Dessert;
private static final String SELECT_SQL= "SELECT * FROM Starter,MainCourse,Dessert ORDER BY RANDOM() LIMIT 1";
private SQLiteDatabase db;
private Cursor c;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_people);
openDatabase();
Typeface myTypeface = Typeface.createFromAsset(getAssets(), "myFont.ttf");
Starter = (TextView) findViewById(R.id.Starter);
MainCource =(TextView) findViewById(R.id.MainCourse);
Dessert = (TextView) findViewById(R.id.Dessert);
Starter.setTypeface(myTypeface);
MainCource.setTypeface(myTypeface);
MainCource.setTypeface(myTypeface);
c = db.rawQuery(SELECT_SQL, null);
c.moveToFirst();
showRecords();
}
protected void openDatabase() {
db = openOrCreateDatabase("PersonDB", Context.MODE_PRIVATE, null);
}
protected void showRecords() {
String Starter = c.getString(1);
String MainCourse = c.getString(1);
String Desstert = c.getString(1);
//Starter.setText(Starter);
MainCource.setText(MainCourse);
Dessert.setText(Desstert);
}
}
东西不灵它给所有的表 –