2017-02-14 142 views
0

我正在使用Android SQLite。 我正在创建新表并尝试在其中插入值。 但尝试插入值时,它没有给出列姓氏。android sqlite没有这样的列错误

请帮帮我。 请检查以下代码。

String query3 = "create table if not exists " + "SIGNUPINFO" + " ("         + "FirstName TEXT," + "LastName TEXT," + "EmailID TEXT," + "Password TEXT," 
+ "Phone TEXT," +"Security TEXT);"; 

db.execSQL(query3); 

String query5 = "INSERT INTO SIGNUPINFO" + " (FirstName,LastName,EmailID,Password,Phone,Security) " + "VALUES ('" 
+ firstName + "','" +lastName+ "','" + emailID + "','" +password+ "','" + phone+ "','" + "security" +"');"; 

db.execSQL(query5); 
+0

请。显示日志错误 –

+0

你有没有更新你的数据库版本更新你的表?尝试清除您的应用数据并重新运行,也许您的表格不更新 –

+0

如果您有root用户访问权限,则尝试拔出.db文件并查看数据库是否已成功创建。使用任何DMBS工具并尝试执行您的查询。刚刚运行你粘贴的代码,看起来没问题。 – Dibzmania

回答

1

请检查refernce对同一问题的答案,可以帮助你。

好吧,如果你是confindent有关语法创建表,比它可能发生 当您在同一个表中添加新列,对于...

1)反安装从您的设备和运行它再次。

OR

2)设置 - >程序 - > ClearData

OR

3)变更DATABASE_NAME在 “数据库处理器” 类 (我面临同样的问题,但是,我通过改变DATABASE_NAME来防止)。

4)变更DATABASE_VERSION在 “数据库处理器” 类 (如果已经添加了新的列比将autimatically升级)

public DatabaseHandler(Context context) { 
      super(context, DATABASE_NAME, null, DATABASE_VERSION); 
     } 
+1

谢谢!这工作 – user3571631

+0

所以请标记@ user3571631。 – Kush

-2

把这个代码在应用类别及获取数据库中externalstorage。

然后你可以检查列创建或不在数据库表中。

public static void copyDataBase(Context mActivity) throws IOException { 
     Log.d("tag", "Copy Database called"); 
     InputStream myInput = new FileInputStream(new File("/data/data/" 
       + mActivity.getPackageName() + "/databases/" 
       + "yourdb.sqlite")); 
     File files = new File(Environment.getExternalStorageDirectory() 
       + "/files/"); 
     files.mkdirs(); 
     String outFileName = Environment.getExternalStorageDirectory() 
       + "/yourdb.sqlite"; 
     OutputStream myOutput = new FileOutputStream(outFileName); 
     byte[] buffer = new byte[1024]; 
     int bufferLength; 
     while ((bufferLength = myInput.read(buffer)) > 0) { 
      myOutput.write(buffer, 0, bufferLength); 
     } 
     myOutput.flush(); 
     myOutput.close(); 
     myInput.close(); 
     Log.d("tag", "Copy Database Done"); 
    } 

我希望它对你有用。