Я хочу знать, как получить значение выбранного необработанного запроса
Cursor data = dbObject.rawQuery("SELECT _id FROM COMAPNY WHERE _id LIKE ?",
new String[] { "%" + val2 + "%" });
в качестве входных данных базы данных sqlite.я хочу выбрать номер (val2
), а затем поместить это число в столбец handle.KEY_ID2
.возможно ли это и как это сделать?
ПОЛНЫЙ КОД
База данных
package test.com;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class handle extends SQLiteOpenHelper {
public static final String DB_NAME = "SHARE_DB";
public static final String DB_COMPANYTABLE = "COMAPNY";
public static final String DB_SHARETABLE = "SHARE";
public static final int DB_VERSION = 1;
public static final String KEY_ID = "_id";
public static final String KEY_ID2 = "_id2";
public static final String ROW_ID = "_id";
public static final String COMPANY_NAME = "Name";
public static final String COMPANY_SHAREP = "Price";
public static final String COMPANY_SHAREV = "Volume";
public handle(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(SCRIPT_CREATE_DATABASE);
db.execSQL(SCRIPT_CREATE_DATABASE2);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + DB_COMPANYTABLE);
db.execSQL("DROP TABLE IF EXISTS " + DB_SHARETABLE);
onCreate(db);
}
private static final String SCRIPT_CREATE_DATABASE = "create table " + DB_COMPANYTABLE + " ("
+KEY_ID + " integer primary key autoincrement, "
+ COMPANY_NAME + " text not null);";
private static final String SCRIPT_CREATE_DATABASE2 = "create table " + DB_SHARETABLE + " ("
+ ROW_ID + " integer primary key autoincrement, "
+ KEY_ID2 + " integer, "
+ COMPANY_SHAREP + " text not null, "
+ COMPANY_SHAREV + " text not null);";
}
Activity1
private ListView.OnItemClickListener listContentOnItemClickListener
= new ListView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Company comid = new Company();
Cursor cursor = (Cursor) parent.getItemAtPosition(position);
int item_id = cursor.getInt(cursor.getColumnIndex(handle.KEY_ID));
String item = String.valueOf(item_id);
comid.setCompanyID(item);
startActivity(new Intent("android.intent.action.next"));
}};
Activity2
Company obj1 = new Company();
String val1 = obj1.getCompanyID();
protected void saveRecord() {
// TODO Auto-generated method stub
conValue.put(handle.COMPANY_SHAREP, two.getText().toString());
conValue.put(handle.COMPANY_SHAREV, three.getText().toString());
conValue.put(handle.KEY_ID2, four.getText().toString());
dbObject.insert(handle.DB_SHARETABLE, null, conValue);
}
На данный момент я должен ввести KEY_ID2, но я хочу, чтобы ... когда пользователь нажимает наСписок ACTIVITY1 ... он отправляет идентификатор строки как "val1", и я хочу, чтобы это значение было введено при нажатии кнопки ACTIVITY2