我试图将数据添加到5列中,但是由于某种原因,我可以将其添加到第一列中。我有什么遗漏吗?据我所知,我告诉命令我的表名并将其数据按顺序输入到所有列中,或者我遗漏了什么?
我很抱歉,如果它有点混乱,因为在一个代码中组合2个youtube视频并不像我那么容易:(
数据库形式:
package com.example.laivumusis;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
import com.example.laivumusis.KlausimuContracts.*;
import java.util.ArrayList;
import java.util.List;
public class KlausimynoDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "Klausimynas.db";
private static final int DATABASE_VERSION = 5;
private SQLiteDatabase db;
public KlausimynoDatabaseHelper(@Nullable Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
this.db = db;
final String SQL_CREATE_QUESTIONS_TABLE = "CREATE TABLE " +
KlausimuLentele.TABLE_NAME + " ( " +
KlausimuLentele._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KlausimuLentele.COLUMN_QUESTION + " TEXT, " +
KlausimuLentele.COLLUMN_OPTION1 + " TEXT, " +
KlausimuLentele.COLLUMN_OPTION2 + " TEXT, " +
KlausimuLentele.COLLUMN_OPTION3 + " TEXT, " +
KlausimuLentele.COLLUMN_ANSWER_NR + " INTEGER" +
")";
db.execSQL(SQL_CREATE_QUESTIONS_TABLE);
fillKlausimuLentele();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + KlausimuLentele.TABLE_NAME);
onCreate(db);
}
public void addData(ContentValues contentValues){
getWritableDatabase().insert("KlausimuLentele.TABLE_NAME", "", contentValues);
}
public Cursor getListContents() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor data = db.rawQuery("SELECT * FROM " + KlausimuLentele.TABLE_NAME,null );
return data;
}
添加数据java类:
package com.example.laivumusis;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class HomeActivity extends AppCompatActivity {
KlausimynoDatabaseHelper myDB;
Button btnprideti, btneditdata;
EditText editText, editText2, editText3, editText4, editText5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
editText = (EditText) findViewById(R.id.editText);
editText2 = (EditText) findViewById(R.id.editText2);
editText3 = (EditText) findViewById(R.id.editText3);
editText4 = (EditText) findViewById(R.id.editText4);
editText5 = (EditText) findViewById(R.id.editText5);
btnprideti = (Button) findViewById(R.id.btnprideti);
btneditdata = (Button) findViewById(R.id.btneditdata) ;
myDB = new KlausimynoDatabaseHelper(this);
btneditdata.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(HomeActivity.this, ViewListData.class);
startActivity(intent);
}
});
btnprideti.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String editTextValue = editText.getText().toString();
String editText2Value = editText2.getText().toString();
String editText3Value = editText3.getText().toString();
String editText4Value = editText4.getText().toString();
String editText5Value = editText5.getText().toString();
if (editTextValue.length()>1) {
ContentValues contentValues = new ContentValues();
contentValues.put("editText", editTextValue);
contentValues.put("editText2", editText2Value);
contentValues.put("editText3", editText3Value);
contentValues.put("editText4", editText4Value);
contentValues.put("editText5", editText5Value);
PridetiData(contentValues);
editText.setText("");
}else{
Toast.makeText(HomeActivity.this,"Jūs nieko neirašete!",Toast.LENGTH_LONG).show();
}
}
});
}
public void PridetiData (ContentValues contentValues) {
myDB.addData(contentValues);
// if(myDB==true) {
// Toast.makeText(HomeActivity.this,"Data irašyta! ",Toast.LENGTH_LONG).show();
// }else {
// Toast.makeText(HomeActivity.this,"Klaida! ",Toast.LENGTH_LONG).show();
//}
}
}
When you set the values of the columns in the
ContentValues
object you must use as keys the column names like: