大佬教程收集整理的这篇文章主要介绍了android.database.sqlite.SQLITeException:没有这样的表:编译时管理员:INSERT INTO …等,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在谷歌搜索,在这里也在stackoverflow,我发现一些人的代码与我的相似.有人必须添加(onUpgrade方法)到他的代码,所以它将自动增加数据库版本….但我已经写了.我感到很困惑.请帮忙.. ??
package group.com; import android.content.ContentValues; import android.content.Context; import android.database.sqlException; import android.database.sqlite.sqliteDatabase; import android.database.sqlite.sqliteOpenHelper; import android.util.Log; public class DBAdapter { public static final String KEY_Admin_ROWID = "_id"; public static final String KEY_Admin_fullName = "adminFullName"; public static final String KEY_Admin_UserName = "AdminUserName"; public static final String KEY_Admin_password = "Adminpassword"; private static final String TAG = "DBAdapter"; private static final String DATABASE_NAME = "RamiTariq"; private static final String DATABASE_TABLE = "info"; private static final String DATABASE_TABLE_Admin = "admin"; private static final int DATABASE_VERSION = 1; private static final String DATABASE_CREATE = "create table " + DATABASE_TABLE + " (" + KEY_ROWID + " INTEGER PRIMary key autoincrement," + KEY_NAME + " text not null," + KEY_PSSWORD + " text not null," + KEY_F_NAME + " text not null," + KEY_DATE + " text not null," + KEY_JOB + " text not null," + KEY_ADDRESS + " text not null," + KEY_PHONE + " text not null," + KEY_NATIONAL_numbER + " text not null," + KEY_MONEY_SHOULD_PAY + " text null," + KEY_ACTUAL_MONEY + " text null);"; private static final String DATABASE_CREATE_ADMIN = "create table " + DATABASE_TABLE_Admin + " (" + KEY_Admin_ROWID + " INTEGER PRIMary key autoincrement," + KEY_Admin_fullName + " text not null," + KEY_Admin_UserName + " text not null," + KEY_Admin_password + " text not null);"; private final Context context; private DatabaseHelper DBHelper; private sqliteDatabase db; public DBAdapter(Context ctX) { this.context = ctx; DBHelper = new DatabaseHelper(context); } private static class DatabaseHelper extends sqliteOpenHelper { DatabaseHelper(Context context) { super(context,DATABASE_NAME,null,DATABASE_version); } public void onCreate(sqliteDatabase db) { try { db.execsql(DATABASE_create); db.execsql(DATABASE_CREATE_ADMIN); } catch (sqlException E) { e.printStackTrace(); } } public void onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) { Log.w(tag,"Upgrading database from version " + oldVersion + " to " + newVersion + ",which will destroy all old data"); db.execsql("drop table IF EXISTS "+DATABASE_TABLE); db.execsql("drop table IF EXISTS "+DATABASE_TABLE_Admin); onCreate(db); } } // ---opens the database--- public DBAdapter open() throws sqlException { db = DBHelper.getWritableDatabase(); return this; } // ---closes the database--- public void close() { DBHelper.close(); } //------insert an admin into the database----- public long insertAdmin(String full_name,String user_name,String password ) { ContentValues initialValues = new ContentValues(); initialValues.put(KEY_Admin_fullName,full_Name); initialValues.put(KEY_Admin_UserName,user_name); initialValues.put(KEY_Admin_password,password); return db.insert(DATABASE_TABLE_Admin,initialValues); } }
这是活动代码:
package group.com; import android.app.Activity; import android.content.Intent; import android.os.bundle; import android.view.View; import android.view.View.onClickListener; import android.widget.button; import android.widget.EditText; import android.widget.Toast; public class InsertAdmin extends Activity { DBAdapter db = new DBAdapter(this); EditText fullName,username,password,repassword; Button insertAdmin; public void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); setContentView(R.layout.insertadmin); fullName = (EditText) findViewById(R.id.fullName); username = (EditText) findViewById(R.id.userName); password = (EditText) findViewById(R.id.password); repassword = (EditText) findViewById(R.id.repassword); insertAdmin = (Button) findViewById(R.id.insertAdmin); insertAdmin.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String fName = fullName.getText().toString(); String uName = username.getText().toString(); String pass = password.getText().toString(); String rePass = repassword.getText().toString(); if(fName.length()==0 || uName.length()==0 || pass.length()==0 || rePass.length()==0) { displaymessage("Please Enter Full Data"); return; } if (uName.length() == 0) { displaymessage("Enter username"); return; } if (pass.length() == 0) { displaymessage("Enter The password"); return; } if(pass.equals(rePass)) { db.open(); long id = db.insertAdmin(fName,uName,pass); if(id>0) { displaymessage(id + "\nsuccessfuly Inserted"); } else { displaymessage("Not Inserted"); } db.close(); startActivity(new Intent(getBaseContext(),Admin.class)) ; } else displaymessage("Your passwords doesn't match"); } }); } public void displaymessage(String msg) { Toast.makeText(this,msg,Toast.LENGTH_SHORT).show(); } }
以上是大佬教程为你收集整理的android.database.sqlite.SQLITeException:没有这样的表:编译时管理员:INSERT INTO …等全部内容,希望文章能够帮你解决android.database.sqlite.SQLITeException:没有这样的表:编译时管理员:INSERT INTO …等所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。