android 中数据库管理,在Android Studio中管理SQLite数据库

我是Android应用程序开发新手。我试图创建一个插入一些值的基本SQL表。当我试图从表中提取值时,一些异常被捕获。在Android Studio中管理SQLite数据库

任何人都可以请帮忙。

Database Helper:

package com.example.mathialagan.app1;

import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import android.support.v7.app.AppCompatActivity;

import android.widget.Toast;

import static java.security.AccessController.getContext;

/**

* Created by MATHIALAGAN on 3/12/2017.

*/

public class DatabaseHelper extends SQLiteOpenHelper {

public static final String db_name= "Employee_Details.db";

public static final String table_name="Table_1";

public static final String column_1= "ID";

public static final String column_2= "Name";

public static final String column_3= "Surname";

public static final String column_4= "Joining_Year";

public DatabaseHelper(Context context) {

super(context, db_name, null, 1);

//SQLiteDatabase db= this.getWritableDatabase()

}

@Override

public void onCreate(SQLiteDatabase db) {

// db.execSQL("CREATE TABLE" + table_name + "(ID INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT, Surname TEXT, Joining_Year INTEGER)");

String CREATE_DATABASE = "CREATE TABLE " + table_name + "(" +

column_1 + " INTEGER PRIMARY KEY AUTOINCREMENT, " +

column_2 + " TEXT, "+

column_3 +" TEXT, "+

column_4+ " TEXT"+")" ;

db.execSQL(CREATE_DATABASE);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL("DROP TABLE IF EXISTS" + table_name);

onCreate(db);

}

public boolean insertData (String name, String surname, String yr)

{

SQLiteDatabase db = this.getWritableDatabase();

ContentValues cv = new ContentValues();

cv.put(column_2, name);

cv.put(column_3, surname);

cv.put(column_4, yr);

long result=db.insert(table_name, null, cv);

if (result == -1)

return false;

else

return true;

}

public Cursor getAllData()

{

SQLiteDatabase db = this.getWritableDatabase();

// Cursor res = db.rawQuery("SELECT * FROM" + table_name, null);

Cursor res = db.rawQuery("SELECT * FROM" + table_name, null);

return res;

}

}

MainActivity:

package com.example.mathialagan.app1;

import android.database.Cursor;

import android.support.v7.app.AlertDialog;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

DatabaseHelper myDb;

EditText editName, editSurname, editYear , please;

Button btnAddData, btnView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

myDb = new DatabaseHelper(this);

editName = (EditText)findViewById(R.id.editText);

editSurname = (EditText)findViewById(R.id.editText2);

editYear = (EditText)findViewById(R.id.editText3);

please = (EditText)findViewById(R.id.editText4) ;

btnAddData = (Button)findViewById(R.id.button);

btnView = (Button)findViewById(R.id.button2);

adddata();

viewData();

}

public void adddata()

{

btnAddData.setOnClickListener(

new View.OnClickListener() {

@Override

public void onClick(View v) {

boolean isInserted = myDb.insertData(editName.getText().toString(),

editSurname.getText().toString(),

editYear.getText().toString());

if (isInserted == true)

Toast.makeText(MainActivity.this, "SUCCESS", Toast.LENGTH_SHORT).show();

else

Toast.makeText(MainActivity.this, "HAVE TO WORK MORE", Toast.LENGTH_SHORT).show();

}

}

);

}

public void viewData()

{

btnView.setOnClickListener(

new View.OnClickListener() {

@Override

public void onClick(View v) {

try {

Cursor res = myDb.getAllData();

if (res.getCount() == 0) {

Toast.makeText(MainActivity.this, "Nothing in DB", Toast.LENGTH_SHORT).show();

return;

} else {

StringBuffer bf = new StringBuffer();

while (res.moveToNext()) {

bf.append("ID:" + res.getString(0) + "\n");

bf.append("NAME:" + res.getString(1) + "\n");

bf.append("SURNAME:" + res.getString(2) + "\n");

bf.append("JOINING YEAR:" + res.getString(3) + "\n");

}

showMessage("Data " , bf.toString());

}

}

catch (Exception e)

{

Toast.makeText(MainActivity.this,"DB ", Toast.LENGTH_SHORT).show();

}

}

}

);

}

public void showMessage (String title, String message)

{

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setCancelable(true);

builder.setTitle(title);

builder.setMessage(message);

builder.show();

}

}

2017-04-04

Raj

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值