zoukankan      html  css  js  c++  java
  • 团队十日冲刺4

    今日学习内容

    通过一个登录功能来介绍一下SQLite数据库在实际Android项目中的使用。

     包含建表、删除表、增、删、改、查,SQL语法如下:

            建表:

    create table if not exists 表名(字段1 类型(长度),字段2 类型(长度),...)

            删除表:

    drop table if exists 表名

            增:

    insert into 表名 (字段1,字段2,字段3 ...) values (值1,值2,值3 ...);
    
    insert into 目标数据表 select * from 源数据表;

            删:

    delete from 表名 where 条件表达式

            改:

    update 表名 set 字段1=值1,字段2=值2... where 条件表达式

           查:

    select * from 表名 where 条件表达式

    实例:

            1、首先先创建一个DBHelper类(DBOpenHelper.java)

            在这里会执行建库、建表的操作

     View Code

            2、进入登录界面

            在点击登录按钮时,会去数据库里面进行查询,判断账号是否存在(Query查询范例)

    复制代码
    复制代码
     1 /**
     2  * login event
     3  * @param v
     4  */
     5 public void OnMyLoginClick(View v){
     6     //判断账号/密码是否有输入的处理...
     7 
     8     //调用DBOpenHelper (qianbao.db是创建的数据库的名称)
     9     DBOpenHelper helper = new DBOpenHelper(this,"qianbao.db",null,1);
    10     SQLiteDatabase db = helper.getWritableDatabase();
    11     //根据画面上输入的账号/密码去数据库中进行查询(user_tb是表名)
    12     Cursor c = db.query("user_tb",null,"userID=? and pwd=?",new String[]{参数1的值,参数2的值},null,null,null);
    13     //如果有查询到数据
    14     if(c!=null && c.getCount() >= 1){
    15         //可以把查询出来的值打印出来在后台显示/查看
    16         /*String[] cols = c.getColumnNames();
    17         while(c.moveToNext()){
    18             for(String ColumnName:cols){
    19                 Log.i("info",ColumnName+":"+c.getString(c.getColumnIndex(ColumnName)));
    20             }
    21         }*/
    22         c.close();
    23         db.close();
    24 
    25         this.finish();
    26     }
    27     //如果没有查询到数据
    28     else{
    29         Toast.makeText(this, "手机号或密码输入错误!", Toast.LENGTH_SHORT).show();
    30     }
    31 }
    复制代码
    复制代码

            3、如果账号不存在,则需要去注册一个新账号(Insert新增范例)

    复制代码
    复制代码
     1 import com.hyl.dao.DBOpenHelper;
     2 
     3 import android.content.ContentValues;
     4 import android.database.Cursor;
     5 import android.database.sqlite.SQLiteDatabase;
     6 
     7 /**
     8  * register event
     9  * @param v
    10  */
    11 public void OnMyRegistClick(View v){
    12     //对用户输入的值的格式进行判断的处理...
    13 
    14     //调用DBOpenHelper
    15     DBOpenHelper helper = new DBOpenHelper(this,"qianbao.db",null,1);
    16     SQLiteDatabase db = helper.getWritableDatabase();
    17     //根据画面上输入的账号去数据库中进行查询
    18     Cursor c = db.query("user_tb",null,"userID=?",new String[]{参数1的值},null,null,null);
    19     //如果有查询到数据,则说明账号已存在
    20     if(c!=null && c.getCount() >= 1){
    21         Toast.makeText(this, "该用户已存在", Toast.LENGTH_SHORT).show();
    22         c.close();
    23     }
    24     //如果没有查询到数据,则往数据库中insert一笔数据
    25     else{
    26         //insert data
    27         ContentValues values= new ContentValues();
    28         values.put("userID","画面上输入的值");
    29         values.put("pwd","画面上输入的值");
    30         long rowid = db.insert("user_tb",null,values);
    31 
    32         Toast.makeText(this, "注册成功", Toast.LENGTH_SHORT).show();//提示信息
    33         this.finish();
    34     }
    35     db.close();
    36 }
    复制代码
    复制代码

            4、如果用户忘记密码,则需要进行密码重置(Update修改范例)

  • 相关阅读:
    AtCoder Beginner Contest 167
    AtCoder Beginner Contest 166
    AtCoder Beginner Contest 165
    AtCoder Beginner Contest 164
    AtCoder Beginner Contest 163
    AtCoder Beginner Contest 162
    AtCoder Beginner Contest 161
    AtCoder Beginner Contest 160
    AtCoder Beginner Contest 159
    自定义Mybatis自动生成代码规则
  • 原文地址:https://www.cnblogs.com/xiatian21/p/13072014.html
Copyright © 2011-2022 走看看