当用户按下“注册”按钮时,他输入的详细信息将保存到数据库中,但不会显示任何内容。
我的代码有问题吗?为什么我看不到插入数据库的数据?它不会崩溃或什么的。
将对DBAdapter
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
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_ROWID = "_id";
public static final String KEY_FNAME = "fname";
public static final String KEY_LNAME = "lname";
public static final String KEY_MNAME = "mname";
public static final String KEY_CONTACTNUM = "contactNum";
public static final String KEY_LICENSE = "license";
public static final String KEY_USER = "username";
public static final String KEY_PASS = "password";
private static final String TAG = "DBAdapter";
private static final String DATABASE_NAME = "sampleForFinals";
private static final String DATABASE_TABLE = "drivers";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE =
"create table drivers (_id integer primary key autoincrement, "
+ "fname text not null, lname text not null, "
+ "mname text not null, contactNum text not null," +
"license text not null, username text not null, 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);
}
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL(DATABASE_CREATE);
}
@Override
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 drivers");
onCreate(db);
}
}
//---opens the database---
public DBAdapter open() throws SQLException
{
db = DBHelper.getWritableDatabase();
return this;
}
//---closes the database---
public void close()
{
DBHelper.close();
}
//---insert a driver's information into the database---
public long insertDriver(String fname, String lname, String mname, String contactNum, String license, String user, String pass)
{
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_FNAME, fname);
initialValues.put(KEY_LNAME, lname);
initialValues.put(KEY_MNAME, mname);
initialValues.put(KEY_CONTACTNUM, contactNum);
initialValues.put(KEY_LICENSE, license);
initialValues.put(KEY_USER, user);
initialValues.put(KEY_PASS, pass);
return db.insert(DATABASE_TABLE, null, initialValues);
}
}
注册
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.ftlibrary.Fit;
public class Register extends Activity {
EditText firstname,lastname, middlename, contactNum, license, username, password;
Button register;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
Fit.FitSetClientKey("SZIERAINE1527");
Fit.FitSetAppName("sampleForFinals");
firstname = (EditText) findViewById(R.id.et_firstname);
lastname = (EditText) findViewById(R.id.et_lastname);
middlename = (EditText) findViewById(R.id.et_middlename);
contactNum = (EditText) findViewById(R.id.et_contactNumber);
license = (EditText) findViewById(R.id.et_license);
username = (EditText) findViewById(R.id.et_username);
password = (EditText) findViewById(R.id.et_password);
register = (Button) findViewById(R.id.btn_register);
register.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
DBAdapter db = new DBAdapter(Register.this);
String fname = firstname.getText().toString();
String lname = lastname.getText().toString();
String mname = middlename.getText().toString();
String contact = contactNum.getText().toString();
String plate = license.getText().toString();
String user = username.getText().toString();
String pass = password.getText().toString();
db.open();
long id = db.insertDriver(fname, lname, mname, contact, plate, user, pass);
db.close();
}
});
}
}
为什么我看不到数据库中的任何记录? TT TT