我有2个文本字段用户名和密码以及同一视图中的按钮我填写了这两个文本框并单击了提交按钮,用于在数据库中插入数据,但是在sqlite数据库中插入失败我是还粘贴我下面的Log log。请看看问题在哪里:为什么不插入数据库?感谢。
public class MyContentProvider extends ContentProvider {
public static final String USER_NAME = "USER_NAME";
public static final String PASSWORD = "PASSWORD";
private SQLiteDatabase sqlDB;
public DatabaseHelper dbHelper;
private static final String DATABASE_NAME = "Users.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "User";
private static final String TAG = "MyContentProvider";
public static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
ava:150)
06-30 12:22:49.622: ERROR/JavaBinder(235): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:140)
06-30 12:22:49.622: ERROR/JavaBinder(235): at android.os.Binder.execTransact(Binder.java:287)
06-30 12:22:49.622: ERROR/JavaBinder(235): at dalvik.system.NativeStart.run(Native Method)
06-30 12:22:55.271: DEBUG/dalvikvm(235): GC freed 542 objects / 51288 bytes in 152ms
答案 0 :(得分:1)
您必须将密码存储为文本,sqlite中不存在“PASS”,因此创建表时可能会出现一些错误。试试这个:
db.execSQL("Create table "
+ TABLE_NAME
+ "( _id INTEGER PRIMARY KEY AUTOINCREMENT, USER_NAME TEXT,PASSWORD TEXT);");
如果您不想以可读格式存储密码,您显然必须先加密密码。
答案 1 :(得分:1)
您应该查看Learning Android (O'Reilly)中的ContentProvides一章。在那里,您可以了解您需要了解的所有信息。