sinat_22315343 2014-12-20 08:34 采纳率: 0%
浏览 1599

脚标越界求助,调了好久,还请路过大神顺带帮解决。。。

代码如下
package com.example.datebase;

import java.util.ArrayList;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class DBHelper {
private static final String DATABASE_NAME = "";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "student";
private static final String[] COLUMNS = { "id", "name", "score" };
private String sql = "";
private DBOpenHelper helper;
private SQLiteDatabase db;

public DBHelper(Context context) {

    sql = "create table" + TABLE_NAME + "(" + COLUMNS[0]
            + " integer primary key," + COLUMNS[1] + " varchar(50),"
            + COLUMNS[2] + " integer);";
    helper = new DBOpenHelper(context, DATABASE_NAME, DATABASE_VERSION,
            TABLE_NAME, sql);

    db = helper.getWritableDatabase();

}

public void insert(Student data) {
    ContentValues values = new ContentValues();
    values.put(COLUMNS[0], data.getId());
    values.put(COLUMNS[1], data.getName());
    values.put(COLUMNS[2], data.getScore());
    db.insert(TABLE_NAME, null, values);

}

public ArrayList<Student> find() {
    ArrayList<Student> list = new ArrayList<Student>();
    Student stu = null;

    Cursor cursor = db.query(TABLE_NAME, COLUMNS, null, null, null, null,
            null);

    while (cursor.moveToNext()) {
        stu = new Student();
        stu.setId(cursor.getInt(0));
        stu.setName(cursor.getString(1));
        stu.setScore(cursor.getInt(2));
        list.add(stu);
    }
    cursor.close();

    return list;

}

}

package com.example.datebase;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBOpenHelper extends SQLiteOpenHelper {

private String CREATE_TABLE = "";
private String tableName = "";

public DBOpenHelper(Context context, String dbName, int dbVersion,
        String tableName, String sql) {
    super(context, dbName, null, dbVersion);
    // TODO Auto-generated constructor stub
    CREATE_TABLE = sql;

    this.tableName = tableName;

}

@Override
public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub
    db.execSQL(CREATE_TABLE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
    db.execSQL("drop table if exists" + tableName);
    onCreate(db);

}

}

package com.example.datebase;

import java.util.ArrayList;

import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
private EditText id, name, score, list;
private Button save, read;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    id = (EditText) findViewById(R.id.editText1);
    name = (EditText) findViewById(R.id.editText2);
    score = (EditText) findViewById(R.id.editText3);
    save = (Button) findViewById(R.id.button1);
    read = (Button) findViewById(R.id.button2);
    list = (EditText) findViewById(R.id.editText4);
    save.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Student info = null;
            DBHelper helper = new DBHelper(MainActivity.this);// 这句有问题
            info = new Student();
            info.setId(Integer.parseInt(id.getText().toString()));
            info.setName(name.getText().toString());
            info.setScore(Integer.parseInt(score.getText().toString()));
            helper.insert(info);
            id.setText("");
            name.setText("");
            score.setText("");
            Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT)
                    .show();

        }
    });
    read.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            list.setText("");
            DBHelper helper = new DBHelper(MainActivity.this);
            ArrayList<Student> Stulist = helper.find();
            for (Student info : Stulist) {
                list.setText(list.getText().toString() + info.getId() + ""
                        + info.getName() + "" + info.getScore() + "\n");
            }

        }
    });
  • 写回答

4条回答

  • sinat_22315343 2014-12-20 08:38
    关注

    一般没人回答吗?

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况