package com.sqlite.ch15_hellosqlite;import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {
static final String db_name="testDB";
static final String tb_name="test";
SQLiteDatabase db; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE,null);
String createTable="CREATE TABLE IF NOT EXISTS" +
tb_name +
"(name VARCHAR(32),"+
"phone VARCHAR(16)"+
"email VARCHAR(64))";
db.execSQL(createTable); addData("Flag Publishing Co.","10-12345678","servic@flag. com");
addData("Jun Magazine","10-24680135","[email protected]");
TextView txv=(TextView)findViewById(R.id.txv);
txv.setText("数据库文件路径:"+db.getPath()+ "\n" +
"数据库分页大小:"+db.getPageSize() + "Byte\n" +
"数据量上限:"+db.getMaximumSize() + "Byte\n");
db.close();
} private void addData(String name,String phone,String email){
ContentValues cv=new ContentValues(3);
cv.put("name",name);
cv.put("phone",phone);
cv.put("email",email); db.insert(tb_name,null,cv);
}
}
各位大神,我这是按照安卓书上,创建数据库和数据表的程序,但是仿真器上运行不出来,这是什么问题呢,跪求
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {
static final String db_name="testDB";
static final String tb_name="test";
SQLiteDatabase db; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE,null);
String createTable="CREATE TABLE IF NOT EXISTS" +
tb_name +
"(name VARCHAR(32),"+
"phone VARCHAR(16)"+
"email VARCHAR(64))";
db.execSQL(createTable); addData("Flag Publishing Co.","10-12345678","servic@flag. com");
addData("Jun Magazine","10-24680135","[email protected]");
TextView txv=(TextView)findViewById(R.id.txv);
txv.setText("数据库文件路径:"+db.getPath()+ "\n" +
"数据库分页大小:"+db.getPageSize() + "Byte\n" +
"数据量上限:"+db.getMaximumSize() + "Byte\n");
db.close();
} private void addData(String name,String phone,String email){
ContentValues cv=new ContentValues(3);
cv.put("name",name);
cv.put("phone",phone);
cv.put("email",email); db.insert(tb_name,null,cv);
}
}
各位大神,我这是按照安卓书上,创建数据库和数据表的程序,但是仿真器上运行不出来,这是什么问题呢,跪求
解决方案 »
- 急,读不出SD卡上的文件,找不到原因,程序也不报错(在线等)
- 如何在AppWidget上实现ToggleButton
- android 日历控件
- 请问,Android2.2和2.3的模拟器中使用的键盘驱动是哪个?谢谢
- OAuth 认证的问题。我需要的那些源码的包在哪里导入呢?
- 求教:如何在Settings下增加一项
- 高手帮我看下这段代码,怎么会有空指针?
- error XML parsing : not well-formed (invalid token) .
- 求大神给个思路,小弟百思不得其解
- androidui问题
- Android 系统源码5.1 改制
- 如何在一张图片中找到内容所在屏幕x y坐标值位置
你应该单独建立一个DbHelper类,继承SQLiteOpenHelper,实现Oncreate方法例如
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String CREATE_TABLE="CREATE TABLE "+ ProductContract.ProductEntry.TABLE_NAME+"("
+ ProductContract.ProductEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ ProductContract.ProductEntry.COLUMN_NAME + " TEXT, "
+ ProductContract.ProductEntry.COLUMN_PRICE + " TEXT, "
+ ProductContract.ProductEntry.COLUMN_REMAINDER + " INTEGER, "
+ ProductContract.ProductEntry.COLUMN_SOLDNUMBER + " INTEGER, "
+ ProductContract.ProductEntry.COLUMN_PICTURE + " BLOB);";
sqLiteDatabase.execSQL(CREATE_TABLE);
}然后得到其实例化对象
通过对象的getReadableDatabase()和getWriteableDatabase()方法得到SQLiteDatabase变量,
用这个变量进行数据库的增删改查
发现是博主少加了个逗号,应该是while compiling: CREATE TABLE IF NOT EXISTStest(name VARCHAR(32),phone VARCHAR(16),email VARCHAR(64))
加逗号之后运行成功。