Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 这是我申请的登记表。出了什么问题。数据库没有创建_Android_Android Sqlite_Sqlite - Fatal编程技术网

Android 这是我申请的登记表。出了什么问题。数据库没有创建

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

这是我申请的登记表。但我不明白出了什么问题,因为数据库没有创建。CREATE_TABLE部分我不确定语法,我想这可能是问题所在。或者其他我不确定的问题,请帮我解决

在这条线上

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,"....