这是我的sqlite类文件
public class MySqlite extends SQLiteOpenHelper {
private static int DATABASE_VERSION = 1;
private static String DATABASE_NAME = "student_info";
public MySqlite(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase sqlite) {
// TODO Auto-generated method stub
String query = "CREATE TABLE student_datatable(first_name Text, last_name Text, gender Text, street Text, city Text, contact Text)";
sqlite.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase sqlite, int arg1, int arg2) {
// TODO Auto-generated method stub
sqlite.execSQL("DROP TABLE IF EXISTS student_datatable");
onCreate(sqlite);
}
public void addrecord(String firstname, String lastname, String radiovalue,
String street, String city, String contact) {
SQLiteDatabase sqlite = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("first_name", firstname);
cv.put("last_name", lastname);
cv.put("gender", radiovalue);
cv.put("street", street);
cv.put("city", city);
cv.put("contact", contact);
sqlite.insert("student_datatable", null, cv);
sqlite.close();
}
public String searchrecord(String firstname)
{
SQLiteDatabase sql = this.getReadableDatabase();
String lastnamefromtable = null;
String param[] = new String[1];
param[0] = firstname;
Cursor c = sql.rawQuery(
"Select * from student_datatable where first_name=?", param);
if (c.moveToFirst()) {
do {
lastnamefromtable = c.getString(c.getColumnIndex("last_name"));
} while (c.moveToNext());
}
return lastnamefromtable;
}
public void deleterecord(String firstname) {
String Table_name = "student_info";
String column_name = "first_name";
SQLiteDatabase sql = this.getWritableDatabase();
String lastnamefromtable = null;
String param[] = new String[1];
param[0] = firstname;
sql.execSQL("DELETE FROM student_info where first_name=?", param);
}
}
这里我只根据名字获取姓氏,但我想获取其他价值,如性别,街道,城市和&从数据库到光标以及从光标到我的以下活动的联系
public class Searchrecord extends Activity {
EditText firstname;
TextView getlastname;
MySqlite mysql;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.searchrecord);
firstname=(EditText) findViewById(R.id.editText1);
getlastname=(TextView) findViewById(R.id.textView2);
mysql=new MySqlite(getApplicationContext());
}
public void search(View v)
{
if(firstname.getText().toString().equals(""))
{
Toast.makeText(getApplicationContext(), "Please Provide value", Toast.LENGTH_SHORT).show();
}
else
{
String value=mysql.searchrecord(firstname.getText().toString());
getlastname.setText(value);
}
}
}
答案 0 :(得分:1)
请尝试以下代码
public ArrayList<String> searchrecord(String firstname)
{
ArrayList<String> allitems=new ArrayList<String>();
SQLiteDatabase sql = this.getReadableDatabase();
String lastnamefromtable = null;
String param[] = new String[1];
param[0] = firstname;
Cursor c = sql.rawQuery(
"Select * from student_datatable where first_name=?", param);
if (c.moveToFirst()) {
do {
lastnamefromtable = c.getString(c.getColumnIndex("last_name"));
allitems.add(lastnamefromtable )
} while (c.moveToNext());
}
return allitems;
}
主要活动中的
ArrayList<String> allitems=db.searchrecord(String firstname);
iterate for loop
答案 1 :(得分:0)
替换下面的方法,
public Bundle searchrecord(String firstname)
{
SQLiteDatabase sql = this.getReadableDatabase();
Bundle cursorData = new Bundle();
String param[] = new String[1];
param[0] = firstname;
Cursor c = sql.rawQuery(
"Select * from student_datatable where first_name=?", param);
if (c.moveToFirst()) {
do {
bundle.putString("last_name", c.getString(c.getColumnIndex("last_name"));
bundle.putString("gender", c.getString(c.getColumnIndex("gender"));
bundle.putString("street", c.getString(c.getColumnIndex("street"));
bundle.putString("city", c.getString(c.getColumnIndex("city"));
bundle.putString("contact", c.getString(c.getColumnIndex("contact"));
} while (c.moveToNext());
}
return cursorData;
}
public void search(View v)
{
if(firstname.getText().toString().equals(""))
{
Toast.makeText(getApplicationContext(), "Please Provide value", Toast.LENGTH_SHORT).show();
}
else
{
Bundle bundle=mysql.searchrecord(firstname.getText().toString());
getlastname.setText(bundle.get("last_name"));
String gender=bundle.get("gender");
String contact=bundle.get("contact");
String street=bundle.get("street");
String city=bundle.get("city");
}
}