使用android studio编写一个简单的使用sqlite存储数据的程序,数据一直保存不了。

JefferyDing 2015-09-12 11:37:32
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/create_database"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Create database"/>

<Button
android:id="@+id/add_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add data"/>

</LinearLayout>


public class MyDatabaseHelper extends SQLiteOpenHelper {
public static final String CREATE_BOOK="create table Book("
+"id integer primary key autoincrement," +
"author text," +
"price real" +
"pages integer" +
"name text )";
public static final String CREATE_CATEGORY="create table Category(" +
"id integer primary key autoincrement," +
"category_name text," +
"category_code integer)";

private Context mContext;
public MyDatabaseHelper(Context context,String name,SQLiteDatabase.CursorFactory factory,
int version){
super(context,name,factory,version);
mContext=context;
}

@Override
public void onCreate(SQLiteDatabase db){
db.execSQL(CREATE_CATEGORY);
db.execSQL(CREATE_BOOK);
Toast.makeText(mContext,"Create succeeded",Toast.LENGTH_LONG).show();
}

@Override
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){

}
}

public class MainActivity extends Activity {
private MyDatabaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper=new MyDatabaseHelper(this,"BookStore.db",null,1);
Button createDatabase=(Button)findViewById(R.id.create_database);
Button addData=(Button)findViewById(R.id.add_data);
createDatabase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dbHelper.getWritableDatabase();
}
});
addData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values=new ContentValues();

values.put("name","The Da Vinci Code");
values.put("author","Dan Brown");
values.put("pages",454);
values.put("price",16.96);
db.insert("Book",null,values);
values.clear();
}
});
}
}



一个数据都没有
...全文
678 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
huang0517 2016-07-27
  • 打赏
  • 举报
回复
你试试 db.execSQL(),这个方法,直接写SQL语句
huang0517 2016-07-27
  • 打赏
  • 举报
回复
你是建表建成功了,数据添加不进去?
JefferyDing 2015-09-12
  • 打赏
  • 举报
回复
自己顶下

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧