Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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 SQLite创建表不工作,没有任何错误_Java_Android_Database_Sqlite - Fatal编程技术网

Java SQLite创建表不工作,没有任何错误

Java SQLite创建表不工作,没有任何错误,java,android,database,sqlite,Java,Android,Database,Sqlite,我试图创建一个数据库并在其中创建一个表。正在创建数据库,但未创建表。它未显示任何错误,也无法将值插入其中。我想创建一个表并插入从用户接收的数据,但数据无法添加到数据库,也未显示任何错误。代码如下: public DataBaseHelper(Context context) { super(context, DATABASE_NAME, null, version); } @Override public void onCreate(SQLiteData

我试图创建一个数据库并在其中创建一个表。正在创建数据库,但未创建表。它未显示任何错误,也无法将值插入其中。我想创建一个表并插入从用户接收的数据,但数据无法添加到数据库,也未显示任何错误。代码如下:

public DataBaseHelper(Context context) {
        super(context, DATABASE_NAME, null, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

            String q = "CREATE TABLE IF NOT EXISTS " + TABLE_NAMETRY + "(" +
                    COL_ID + " INTEGER PRIMARY KEY, " + COL_NAME + " TEXT, " + COL_PHONE + " TEXT " + ")";`enter code here`
            db.execSQL(q);
    }
    @Override

    public void onUpgrade(SQLiteDatabase db, int i, int i1) {
        db.execSQL("DROP table if exist "+TABLE_NAMETRY);
        onCreate(db);
    }

    public boolean insertData(String name,String no)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentvalue = new ContentValues();
        contentvalue.put(COL_NAME,name);
        contentvalue.put(COL_PHONE,no);
       long result = db.insert(TABLE_NAMETRY,null,contentvalue);
        if(result==-1)
        return false;
        else
            return true;
    }

public class MainActivity extends AppCompatActivity { DataBaseHelper mydb; EditText name,no; Button b1; TextView t1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mydb=new DataBaseHelper(this); name=(EditText)findViewById(R.id.name); no=(EditText)findViewById(R.id.no); t1=(TextView)findViewById(R.id.t1); b1=(Button)findViewById(R.id.b1); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "Adding Data", Toast.LENGTH_SHORT).show(); AddData(); } }); } public void AddData() { boolean check= mydb.insertData(name.getText().toString(),no.getText().toString()); if(check==true) t1.setText("data submitted"); else t1.setText("data not submitted"); } }
公共类MainActivity扩展了AppCompatActivity{ 数据库助手mydb; 编辑文本名称,否; 按钮b1; 文本视图t1; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mydb=新数据库助手(此); name=(EditText)findViewById(R.id.name); 否=(EditText)findViewById(R.id.no); t1=(TextView)findViewById(R.id.t1); b1=(按钮)findViewById(R.id.b1); b1.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图){ Toast.makeText(MainActivity.this,“添加数据”,Toast.LENGTH_SHORT.show(); AddData(); } }); } public void AddData() { 布尔检查=mydb.insertData(name.getText().toString(),no.getText().toString()); 如果(检查==true) t1.setText(“提交的数据”); 其他的 t1.setText(“未提交的数据”); } }
帮助程序很可能正在创建表(onCreate),然后删除它(onUpgrade)

在这里,我如何创建我的助手,请注意数据库版本,因为在执行(onUpgrade)时它很重要

public class DatabaseOpenHelper extends SQLiteOpenHelper {
private final static String databaseName = "Your_DB_Name";
private final static int databaseVersion = 13;

DatabaseOpenHelper(Context context) {
    super(context, databaseName, null, databaseVersion);
}

@Override
public void onCreate(SQLiteDatabase db) { // Do Create Your Table Here }

@Override
public void onUpgrade(SQLiteDatabase db, int Old_Version, int New_Version) { //Delete Your tables here if they exists}

尝试使用方法
insertOrThrow
代替
insert
,与
db.insert(TABLE\u NAMETRY,null,contentvalue)
对齐。并说出您得到的信息。
db.execSQL(“如果存在,则删除表”+表名try)它实际上是存在的。