Java 在SQL数据库中插入值,将它们添加在一起并返回,然后比较reult
我有一个数据库、一个主活动和4个按钮。我试图让按钮在单击时向数据库发送一个数值,然后在单击另一个按钮时显示一个附加了数值的视图,这与单击的4个按钮的总和相同 我如何为点击按钮指定一个数字值,并将该值发送到我拥有的数据库? 我如何从数据库中添加(求和)值,并将它们与我想要的值进行比较Java 在SQL数据库中插入值,将它们添加在一起并返回,然后比较reult,java,android,database,eclipse,sqlite,Java,Android,Database,Eclipse,Sqlite,我有一个数据库、一个主活动和4个按钮。我试图让按钮在单击时向数据库发送一个数值,然后在单击另一个按钮时显示一个附加了数值的视图,这与单击的4个按钮的总和相同 我如何为点击按钮指定一个数字值,并将该值发送到我拥有的数据库? 我如何从数据库中添加(求和)值,并将它们与我想要的值进行比较 classdbOpenHelper.class import android.content.Context; import android.database.sqlite.SQLiteDatabase; impo
classdbOpenHelper.class
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class classdbOpenHelper extends SQLiteOpenHelper {
public static final String KEY_ROWID = "_id";
public static final String KEY_NUMBER = "btnumber";
public static final String KEY_RESULT = "result";
public static final String DATABASE_NAME= "data";
public static final String DATABASE_TABLE = "tabel";
public static final int DATABASE_VERSION = 1;
public classdbOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE" + DATABASE_TABLE + " (" +
KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT " +
KEY_NUMBER + " INTEGER " +
KEY_RESULT + " INTEGER); "
);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXITS " + DATABASE_TABLE);
onCreate(db);
}}
主课
import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ScrollView;
public class MainActivity extends Activity {
DBAdapter myDb;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_goto_start);
openDB ();
//Buttons for start screen
ImageButton clicks =(ImageButton)findViewById(R.id.clicks);
ImageButton new_test_btn =(ImageButton)findViewById(R.id.new_test_btn);
ImageButton view_profile_btn =(ImageButton)findViewById(R.id.view_profile_btn);
ImageButton home_btn =(ImageButton)findViewById(R.id.home_btn);
ImageButton info_btn =(ImageButton)findViewById(R.id.info_btn);
//Buttons for question_1
Button a1_btn =(Button)findViewById(R.id.a1_btn);
Button b1_btn =(Button)findViewById(R.id.b1_btn);
Button next_btn1 =(Button)findViewById(R.id.next_btn1);
//Buttons for question_2
Button a2_btn =(Button)findViewById(R.id.a2_btn);
Button b2_btn =(Button)findViewById(R.id.b2_btn);
Button next_btn2 =(Button)findViewById(R.id.next_btn2);
Button back_btn1 =(Button)findViewById(R.id.back_btn1);
//Buttons for question_3
Button a3_btn =(Button)findViewById(R.id.a3_btn);
Button b3_btn =(Button)findViewById(R.id.b3_btn);
Button next_btn3 =(Button)findViewById(R.id.next_btn3);
Button back_btn2 =(Button)findViewById(R.id.back_btn2);
//Buttons for question_4
Button a4_btn =(Button)findViewById(R.id.a3_btn);
Button b4_btn =(Button)findViewById(R.id.b3_btn);
Button result_btn =(Button)findViewById(R.id.result_btn);
Button back_btn3 =(Button)findViewById(R.id.back_btn3);
//Answers
ScrollView eerner =(ScrollView)findViewById(R.id.eerner_scroll);
//Click on screen to start
clicks.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View startpage = (View)findViewById(R.id.startpage);
View homepage = (View)findViewById(R.id.homepage);
homepage.setVisibility(View.GONE);
startpage.setVisibility(View.VISIBLE);};});
//Click a1 and b1 !!!!!!!
a1_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
long newId = myDb.insertRow("A1", 1);
};});
//Click result
result_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Cursor cursor = myDb.getAllRows();
displayRecordSet(cursor);
}
private void displayRecordSet(Cursor cursor) {
String message = "Hi";
if(cursor.getLong(columnIndex))
displayText(message);
}
;});
//Click for question_1
new_test_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View startpage = (View)findViewById(R.id.startpage);
View question_1 = (View)findViewById(R.id.question_1);
startpage.setVisibility(View.GONE);
question_1.setVisibility(View.VISIBLE);};});
//Click for question_2
next_btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View question_1 = (View)findViewById(R.id.question_1);
View question_2 = (View)findViewById(R.id.question_2);
question_1.setVisibility(View.GONE);
question_2.setVisibility(View.VISIBLE);};});
//Go back to question_1
back_btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View question_2 = (View)findViewById(R.id.question_2);
View question_1 = (View)findViewById(R.id.question_1);
question_2.setVisibility(View.GONE);
question_1.setVisibility(View.VISIBLE);};});
//Click for question_3
next_btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View question_2 = (View)findViewById(R.id.question_2);
View question_3 = (View)findViewById(R.id.question_3);
question_2.setVisibility(View.GONE);
question_3.setVisibility(View.VISIBLE);};});
//Go back to question_2
back_btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View question_3 = (View)findViewById(R.id.question_3);
View question_2 = (View)findViewById(R.id.question_2);
question_3.setVisibility(View.GONE);
question_2.setVisibility(View.VISIBLE);};});
//Click for question_4
next_btn3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View question_3 = (View)findViewById(R.id.question_3);
View question_4 = (View)findViewById(R.id.question_4);
question_3.setVisibility(View.GONE);
question_4.setVisibility(View.VISIBLE);};});
//Go back to question_3
back_btn3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View question_4 = (View)findViewById(R.id.question_4);
View question_3 = (View)findViewById(R.id.question_3);
question_4.setVisibility(View.GONE);
question_3.setVisibility(View.VISIBLE);};});
//Click for info screen
info_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View startpage = (View)findViewById(R.id.startpage);
ScrollView frameinfo = (ScrollView)findViewById(R.id.frameinfo);
View answers = (View)findViewById(R.id.answers);
startpage.setVisibility(View.GONE);
frameinfo.setVisibility(View.VISIBLE);
answers.setVisibility(View.VISIBLE);};});
//Click for home
home_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View startpage = (View)findViewById(R.id.startpage);
View homepage = (View)findViewById(R.id.homepage);
startpage.setVisibility(View.GONE);
homepage.setVisibility(View.VISIBLE);};});
//Click for view profile
view_profile_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View startpage = (View)findViewById(R.id.startpage);
View answers = (View)findViewById(R.id.answers);
ScrollView eerner_scroll = (ScrollView)findViewById(R.id.eerner_scroll);
startpage.setVisibility(View.GONE);
eerner_scroll.setVisibility(View.VISIBLE);
answers.setVisibility(View.VISIBLE);};});
}
private void openDB() {
myDb = new DBAdapter(this);
myDb.open();
}
protected void onDestroy() {
super.onDestroy();
closeDB();
}
private void closeDB() {
myDb.close();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.goto_start, menu);
return true;
}}
创建包含以下列的表: a) buttonId:引用的四个按钮之一的Id(可以是1、2、3和4) b) 值:单击按钮时要存储的值 在SQLiteOpenHelper类的重写onCreate方法中向该表插入初始值。 插入以下值(1,0)、(2,0)、(3,0)、(4,0)作为(按钮,值) 在活动中单击按钮时,在本例中,更新在1或2或3或4之间具有相应buttonId的行的列值。这就是如何为单击按钮指定一个数字值并将该值发送到数据库的方法 然后将表中的所有列提取到一个游标中,逐个读取游标中每行的“value”列并将其添加到变量中。这就是我如何添加(求和)数据库中的值并将其与所需的值进行比较的方法
希望这一点有助于您的事业…您在创建查询中错过了comas。您能展示一个我可以修改的代码示例吗!谢谢