【发布时间】:2014-09-20 21:41:48
【问题描述】:
我的应用程序中的插入语句有问题。
public void insert() {
ContentValues cv = new ContentValues();
cv.put(Training_table.KEY_ACTIVITY,"Swimming");
}
我知道我必须添加一个 .insert 行,但我无法将其写入,我已尝试将此作为解决方案,但无济于事:
public void insertRecord() {
SQLiteDatabase db = ourHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(Training_table.KEY_ACTIVITY,"Swimming");
db.insert("Get info from db", null, cv);
db.close(); }
我不确定 db.insert 之后的第一个参数应该是什么??
下面是 getAllData 方法,它的设计目的是检索插入“Swimming”到 KEY_ACTIVITY 行并将其显示在文本视图中。 (这个类在下面。
public String getAllData(){
//SQLiteDatabase db = ourHelper.getWritableDatabase();
String[] columns = {KEY_ROWID, KEY_ACTIVITY};
Cursor cursor=ourDatabase.query(Training_table.DATABASE_TABLE,columns,null,null,null,null,null);
StringBuffer buffer=new StringBuffer();
//Cursor cursor = ourDatabase.query(DATABASE_TABLE,columns,null,null,null,null,null);
while(cursor.moveToNext())
{
int cid=cursor.getInt(0);
String activity=cursor.getString(1);
buffer.append(cid+" "+activity+"\n");
}
return buffer.toString();
}
下面是我调用方法并将 xml 文本视图中的文本设置为 getAllData 字符串中的内容的类。 它没有更新文本视图,它只是空白并且没有显示任何错误。你能看出代码有什么突出的问题吗?
public class Training_table_view extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.training_table_view);
TextView tv = (TextView)findViewById(R.id.tvTTinfo);//setting up reference
Button bv = (Button)findViewById(R.id.bViewDetails);
Training_table info = new Training_table(this);//create training table
info.open();//open Training table class
//info.insertRecord();
info.insert();//insert data (currently PK id and activity name
String data = info.getAllData();//return string from get data method
info.close();
tv.setText(data);//set text view to the string we got data from
}//onCreate
}//training_table_view类
任何帮助或建议将不胜感激,因为我知道解决方案非常简单。亲切的问候, 康纳
【问题讨论】:
-
第一个参数是表名。
标签: android sqlite methods insert information-retrieval