Android 这是我申请的登记表。出了什么问题。数据库没有创建
这是我申请的登记表。但我不明白出了什么问题,因为数据库没有创建。CREATE_TABLE部分我不确定语法,我想这可能是问题所在。或者其他我不确定的问题,请帮我解决 在这条线上Android 这是我申请的登记表。出了什么问题。数据库没有创建,android,android-sqlite,sqlite,Android,Android Sqlite,Sqlite,这是我申请的登记表。但我不明白出了什么问题,因为数据库没有创建。CREATE_TABLE部分我不确定语法,我想这可能是问题所在。或者其他我不确定的问题,请帮我解决 在这条线上 package prad.com.cat; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLite
package prad.com.cat;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper{
private static final String DATABASE_NAME="USERDATABASE.db";
private static final int DATABASE_VERSION=1;
private static final String Table_UserDetails="UserInformation";
public static final String Column_UserName="Name";
public static final String Column_UserEmail="E-mail";
public static final String Column_UserPhoneNo="Phonen NO";
public static final String Column_UserPassword="Password";
public static final String Column_UserConfirmPassword="Confirm Password";
public static final String Column_UserSecurityPassword="Security Password";
public DatabaseHelper(Context context,String name,CursorFactory factory,int version) {
super(context,DATABASE_NAME ,null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
Details d=new Details();
DatabaseHelper dbh;
SQLiteDatabase db;
@Override
public void onCreate(SQLiteDatabase db) {
String DATABASE_CREATE="CREATE TABLE" +Table_UserDetails + "("+Column_UserName+"TEXT,"+Column_UserEmail+"TEXT," +Column_UserPhoneNo+"TEXT,"+Column_UserPassword+"TEXT,"+Column_UserConfirmPassword+"TEXT,"+Column_UserSecurityPassword+"TEXT"+");";
db.execSQL(DATABASE_CREATE);// TODO Auto-generated method stub
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldversion, int newversion) {
db.execSQL("DROP TABLE IF EXISTS" +Table_UserDetails);
onCreate(db);// TODO Auto-generated method stub
}
/*public void insertDetails(String username,String useremail,String userphoneno,String userpassword,String userconfirmpassword,String usersecuritypassword ){
ContentValues v=new ContentValues();
v.put(Column_UserName, d.getName());
v.put(Column_UserEmail, d.getEmail());
v.put(Column_UserPhoneNo,d.getPhoneno());
v.put(Column_UserPassword, d.getPassword());
v.put(Column_UserConfirmPassword, d.getConfirmpassword());
v.put(Column_UserSecurityPassword, d.getSecuritypassword());
SQLiteDatabase db=this.getWritableDatabase();
db.insert(Table_UserDetails, null, v);
db.close();
}*/
public String findpassword(String spassword){
String query="SELECT * FROM" +Table_UserDetails +"WHERE"+Column_UserPassword + " = \"" +spassword+"\"" ;
SQLiteDatabase db=this.getWritableDatabase();
Cursor c=db.rawQuery(query, null);
String s;
if(c.getCount()>0){
c.moveToFirst();
//d.setpassword(c.getString(3));
s= c.getString(c.getColumnIndex(Column_UserPassword));
//return s;
}
else{
s=null;
}
//return s;\
c.close();
db.close();
return s;
}
public SQLiteDatabase getDatabaseInstance(){
return db;
}
public void insertDetails(String username, String useremail,
String userphone, String userpassword, String userconfirmpassword,
String usersecuritypassword) {
// Details d=new Details();
ContentValues v=new ContentValues();
v.put(Column_UserName, username);
v.put(Column_UserEmail, useremail);
v.put(Column_UserPhoneNo,userphone);
v.put(Column_UserPassword, userpassword);
v.put(Column_UserConfirmPassword, userconfirmpassword);
v.put(Column_UserSecurityPassword, usersecuritypassword);
SQLiteDatabase db=this.getWritableDatabase();
db.insert(Table_UserDetails, null, v);
db.close();
// TODO Auto-generated method stub
}
}
在关键字和文本之间需要一些空格
e、 g
列名也有同样的问题
执行前检查
数据库\u创建字符串。看起来查询中缺少空格。i、 e
String DATABASE_CREATE="CREATE TABLE " +Table_UserDetails + "
当您调试并查看字符串时,您的代码将如下所示:
创建TABLEmyAppTable(columnName)文本
应该是:
String DATABASE_CREATE="CREATE TABLE" +Table_UserDetails + "("+Column_UserName+"TEXT,"....
把空格放进去,它就可以工作了。:) 我试过了。但它不起作用。你能详细说明一下吗。如何在DDMS中检查数据库是否已创建。使用try/catch block
包围execSQL并报告任何错误如何检查数据库是否已在DDMS中创建。我在文件资源管理器中进行了尝试,但未找到与该数据库文件夹相关的任何内容默认情况下,Android会将您的数据库文件放入/data/data/your.app.name/databases/。您也可以使用adb将命令定向到数据库,方法是使用“adb shell”,然后输入“sqlite3”,然后直接在表上发送sqlite命令。
String DATABASE_CREATE="CREATE TABLE" +Table_UserDetails + "("+Column_UserName+"TEXT,"....
String DATABASE_CREATE="CREATE TABLE " +Table_UserDetails + " ("+Column_UserName+" TEXT,"....