android SQLite设计设计就出错了帮解决谢谢新那Android的项目,我只贴出Activity类和连接数据库类Java code
android SQLite设计 设计就出错了 帮解决 谢谢
新那Android的项目,我只贴出Activity类和连接数据库类
- Java code
ActivityMian.javapackage cn.nit.android;import android.app.Activity;import android.content.Context;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;public class ActivityMain extends Activity implements Button.OnClickListener { /** Called when the activity is first created. */ private static String DATABASE_NAME = "Android.db";//数据库名 private static int DATABASE_VERSION = 1; private static String TABLE_NAME="android"; private static String TITLE = "title"; private static String BODY = "body"; private Button delButton,delDBButton,insertButton,reCreateButton,selectButton; private DatabaseHelper mOpenHelper; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setLayoutShow(R.layout.main); UIinit(); logic(); } private void UIinit() { delButton = (Button)findViewById(R.id.delButton); delDBButton = (Button)findViewById(R.id.delDBButton); insertButton = (Button)findViewById(R.id.insertButton); reCreateButton = (Button)findViewById(R.id.reCreateButton); selectButton = (Button)findViewById(R.id.selectButton); mOpenHelper = new DatabaseHelper(this); } private void logic(){ delButton.setOnClickListener(this); delDBButton.setOnClickListener(this); insertButton.setOnClickListener(this); reCreateButton.setOnClickListener(this); selectButton.setOnClickListener(this); } private void setLayoutShow(int layoutID){ setContentView(layoutID); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.delButton: delItem(); break; case R.id.delDBButton: delDB(); break; case R.id.insertButton: insertItem(); break; case R.id.reCreateButton: createDB(); break; case R.id.selectButton: selectItem(); break; } } private void createDB() { // TODO Auto-generated method stub } private void selectItem() { // TODO Auto-generated method stub } private void insertItem() { // TODO Auto-generated method stub SQLiteDatabase db = mOpenHelper.getWritableDatabase();//负责得到一个可写的数据库 String sql1 = "insert into"+TABLE_NAME+"("+TITLE+","+BODY+")value('haiyang','android的发展迅速1'"; String sql2 = "insert into"+TABLE_NAME+"("+TITLE+","+BODY+")value('icesky','android的发展迅速2'"; try{ Log.i("haiyang:sql", sql1); Log.i("haiyang:sq2", sql2); db.execSQL(sql1); db.execSQL(sql1); setTitle("插入两条数据成功"); }catch(SQLException e){ setTitle("插入两条数据失败"); } } private void delDB() { // TODO Auto-generated method stub } private void delItem() { // TODO Auto-generated method stub }}- Java code
DatabaseHelper.javapackage cn.nit.android;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;public class DatabaseHelper extends SQLiteOpenHelper{ private static String DATABASE_NAME = "Android.db";//数据库名 private static int DATABASE_VERSION = 1; private static String TABLE_NAME="android"; private static String TITLE = "title"; private static String BODY = "body"; DatabaseHelper(Context context){ super(context,DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub String sql = "create table"+TABLE_NAME+"("+TITLE+"text not null,"+BODY+"text not null"+");"; Log.i("haiyang:createDB=",sql); db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub }}
我只实现了insertItem方法,但是在我点击实现这个方法的按钮时就出错了。到底哪里错了?
[解决办法]
提示是什么错误?
我觉得应该是sql里面空格的问题。
[解决办法]
麻烦把错误贴出来 别人单纯看你的代码找错误不累呀!
[解决办法]
接触没几天就把db,楼主是牛人啊
[解决办法]
create table"+TABLE_NAME+"("+TITLE+"text not null,"+BODY+"text not null"+");";
table和TABLE_NAME中间不要空格的吗? columnName和type中间也不要空格的吗?
sql语句不好好拼,才学android几天就来搞db (∪_∪)
[解决办法]
连DB还是需要经验的说
[解决办法]
