android:SQLite数据库操作

题目:利用安卓制作个简单的学生管理界面,实现对SQLite数据库操作

1.SQLiteOpenHelper类,用于实例我们的数据库

package com.example.administrator.myapplication.com.com.SQLlite;

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

/**
 * Created by Administrator on 2018/5/9.
 */
public class MySQLite extends SQLiteOpenHelper{




String sql= "create table Test ("
            + "_id integer primary key autoincrement," + "name,"
           + "age ," + "grade)";


    public MySQLite(Context context) {
        super(context, "student.db",null,3);
    }

    /**
     * 数据库创建后第一次被调用执行的方法
     * @param sqLiteDatabase
     */
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {


        sqLiteDatabase.execSQL(sql);
        Log.i("1", "创建成功");
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        sqLiteDatabase.execSQL("drop Test if exists");
                sqLiteDatabase.execSQL(sql);
        Log.i("1", "创建成功");
    }
}

2.activity

package com.example.administrator.myapplication.com.com.SQLlite;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CursorAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;

import com.example.administrator.myapplication.R;

import java.util.Arrays;
import java.util.zip.Inflater;

public class SQLliteActivity extends ActionBarActivity {
    //EditText控件
    EditText name;
    EditText age;
    EditText grade;
    
    //EditText控件文本
    String sName;
    String sAge;
    String sGrade;
   
    MySQLite sqLite;//数据库类
    Dialog dialog;//会话框
    View view1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sqllite);

        name = (EditText) this.findViewById(R.id.name);
        age = (EditText) this.findViewById(R.id.age);
        grade = (EditText) this.findViewById(R.id.grade);
      //关联控件
 
       // listView = (ListView) this.findViewById(R.id.listview);
        sqLite = new MySQLite(this);//实例化数据库
    }

    /**
     * @param 插入学生信息方法
     */
    public void insert(View view)

    {
        sName = name.getText().toString().trim();
        sAge = age.getText().toString().trim();
        sGrade = grade.getText().toString().trim();
        //获取数据

        SQLiteDatabase sql = sqLite.getWritableDatabase();//创建连接对象
        ContentValues values = new ContentValues();//创建数据源
        values.put("name", sName);
        values.put("age", sAge);
        values.put("grade", sGrade);
        Cursor cursor =sql.query("Test", null, "name=?", new String[]{sName}, null, null, null);
        //检查学生信息是否已经存在
        if(cursor.moveToFirst())
        {
            Toast.makeText(this,"该学生信息已经存在",Toast.LENGTH_LONG).show();
        }
        else {

            Long i = sql.insert("Test", null, values);//执行插入
            if (i != -1) {
                Toast.makeText(this, "插入成功", Toast.LENGTH_LONG).show();
            }
            sql.close();//关闭连接
        }

    }

    /**
     * @param 查询学生信息方法
     */
    public void select(View view) {
        LayoutInflater layoutInflater=LayoutInflater.from(this);//创建解析layout对象
         view1=layoutInflater.inflate(R.layout.dilag, null);//解析xml文档

       dialog= new AlertDialog.Builder(this)
               .setView(view1)//设置对话框显示的布局
               //设置按钮
               .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialogInterface, int i) {

                       EditText editText = (EditText) view1.findViewById(R.id.stuentID);
                       final String studentname = String.valueOf(editText.getText());//获取学生姓名
                       SQLiteDatabase sql = sqLite.getWritableDatabase();
                       // Cursor cursor = sql.rawQuery("select * from Test where name=28", null);
                       Cursor cursor = sql.query("Test", null, "name=?", new String[]{studentname}, null, null, null);
                       if (cursor.moveToFirst()) {
                           // Toast.makeText(SQLliteActivity.this, ""  + cursor.getString(1) + cursor.getString(2)+cursor.getString(3), Toast.LENGTH_LONG).show();
                           name.setText(cursor.getString(1));
                           age.setText(cursor.getString(2));
                           grade.setText(cursor.getString(3));
                       } else {
                           Toast.makeText(SQLliteActivity.this, "没有该学生信息", Toast.LENGTH_LONG).show();
               }

           }
       }).create();
        dialog.show();//显示对话框

    }
public void delete(View view1)
{
    name.setText("");
    age.setText("");
   grade.setText("");
}

}

3.效果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值