Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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
Java 为什么可以';我看不到用户输入的插入数据吗?_Java_Android_Sql_Database_Sqlite - Fatal编程技术网

Java 为什么可以';我看不到用户输入的插入数据吗?

Java 为什么可以';我看不到用户输入的插入数据吗?,java,android,sql,database,sqlite,Java,Android,Sql,Database,Sqlite,当用户按下Register按钮时,他输入的详细信息将保存到数据库中,但它不会显示任何内容 我的代码有问题吗?为什么我看不到我插入数据库的数据?它没有崩溃或其他什么 DBAdapter import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.dat

当用户按下Register按钮时,他输入的详细信息将保存到数据库中,但它不会显示任何内容

我的代码有问题吗?为什么我看不到我插入数据库的数据?它没有崩溃或其他什么

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

在关闭之前,您可能需要一个db.commit(),或者java/Android的任何等价物。您检查过xml了吗?仔细检查XML文件中按钮或编辑文本的名称。@dranrebdino我检查过了。数据实际上只是没有插入。此外,未创建该表。我不明白为什么。我想我可能没有连接到云数据库,但它没有。在这个问题上花了14个小时