下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验11SQLite数据库的使用一、实验目的1掌握创建SQLite数据库的方法;2掌握实现对SQLite数据增删改查的方法;3学会使用adb调试工具查看数据库和数据表;二、知识要点1创建SQLite数据库的方法:定义一个帮助类MyHelper继承SQLiteOpentHelper类;在MyHelper类中定义构造方法,重写onCreate()和onUpgrade()方法;在onCreate(SQLiteDatabasedb)方法中,通过参数db调用execSQL(String sql)方法执行建表SQL语句;创建一个MyHelper类对象helper,调用构造方法对其进行初始化,然后由help
2、er对象调用getWritableDatabase()方法或getReadableDatabase()创建数据库。2实现SQLite数据增删改查的方法:(1)添加数据:获取一个SQLiteDatabase对象db;通过db对象调用以下任一方法实现数据添加:a)execSQL(String sql)方法执行insert SQL语句;如:db.execSQL(“insert into table_name(column_list) values(value_list)”);b)调用insert(表名,null,添加的数据values)方法:首先,定义一个ContentValues对象values,
3、通过values对象调用put()方法将要添加的数据存入values对象,然后再通过db对象调用insert()方法,将values中的数据添加到指定的数据表中。(2)更新数据:获取一个SQLiteDatabase对象db;通过db对象调用以下任一方法实现数据添加:a)execSQL(String sql)方法执行update SQL语句;如:db.execSQL(“update table_name set column=value, where condition”);b)调用update(String table,ContentValuesvalues,StringwhereClause
4、,String whereArgs)方法:首先,定义一个ContentValues对象values,通过values对象调用put()方法将要更新的数据存入values对象,然后再通过db对象调用update()方法,指定要修改数据的表名,更新的数据values,约束更新某一行火某几行中的数据。(3)删除数据:获取一个SQLiteDatabase对象db;通过db对象调用以下任一方法实现数据添加:a)execSQL(String sql)方法执行delete SQL语句;如:db.execSQL(“delete from table_name where condition”);b)调用del
5、ete(String table,String whereClause,String whereArgs)方法,指定要删除数据的表名称,以及约束删除某一行或某几行中的数据。(4)查询数据:获取一个SQLiteDatabase对象db;通过db对象调用query()方法,指定要查询的表名、列名、以及where约束条件等,并将查询结果存入一个Cursor对象中。如:Cursor cursor=db.query(表名,列名,where约束条件,为where中的占位符提供具体的,null,null,null);三、实验内容1创建一个Android项目,项目名称为“shiyan1101_专业_×
6、;××(学生姓名)”,要求:(1)自动创建Activity;(2)使用XML编写界面;(3)界面构成:4个文本框,分别用来显示提示信息“图书名称”、“图书作者”、“图书价格”、“图书页数”;4个编辑框,分别用来接收用户输入“图书名称”、“图书作者”、“图书价格”、“图书页数”;5个按钮,文本显示分别为“创建SQLite数据库”、“添加数据”、“修改数据”、“删除数据”、“查询数据”。(4)程序实现功能:点击“创建SQLite数据库”按钮,创建一个SQLite数据库BookStore.db,并创建一个数据表Book,通过Toast显示“数据库BookStore.db创建成功!
7、”,要求使用adb查看数据库创建是否成功。点击“添加数据”按钮,将用户在编辑框中输入的图书名称、图书作者、图书价格、图书页数等数据写入添加到数据表Book中。点击“修改数据”按钮,将数据表Book中指定的数据进行修改,条件根据题目自己设定。点击“删除数据”按钮,将数据表Book中指定的数据删除,删除条件根据题目自己设定。点击“查询数据”按钮,查询数据表Book中指定的数据,将查询结果通过Log显示。(5)实验报告中要求用语言描述具体的实验步骤,并附以截图做辅助说明。【具体过程参见课件第3部分数据存储中的练习2-6。】Mydatebase,javapublic class Mydatebase
8、extends SQLiteOpenHelper public static final String cerat= "create table if not exists book( _id integer primary key autoincrement, " + "name text,zuozhe text , price real,page integer );" public Mydatebase(Context context, String name, CursorFactory factory,int version) super(co
9、ntext, name, factory, version);/ TODO Auto-generated constructor stubOverridepublic void onCreate(SQLiteDatabase db) / TODO Auto-generated method stubdb.execSQL( cerat);Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) / TODO Auto-generated method stub创建数据库按钮protected
10、void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mydb=new Mydatebase(MainActivity.this, "BookStore.db", null, 1);btcreat=(Button)findViewById(R.id.create);btcreat.setOnClickListener(new OnClickListener() Overridepublic void
11、onClick(View v) / TODO Auto-generated method stubdb=mydb.getWritableDatabase();/db.execSQL(INSERT_DATA);db.execSQL("insert into book (name,zuozhe,price,page)" +"Values('dnjkc','fdg',35.0,123)"););添加数据按钮edname=(EditText)findViewById(R.id.ed1);edau=(EditText)findVie
12、wById(R.id.ed2);edjiage=(EditText)findViewById(R.id.ed3);edpage=(EditText)findViewById(R.id.ed4);btadd=(Button)findViewById(R.id.add);btadd.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubString sname=edname.getText().toString();String sa
13、u=edau.getText().toString();Double djiage=Double.parseDouble(edjiage.getText().toString();int ipage=Integer.parseInt(edpage.getText().toString();ContentValues values=new ContentValues();values.put("name", sname);values.put("zuozhe",sau);values.put("price", djiage);value
14、s.put("page", ipage);SQLiteDatabase db=mydb.getWritableDatabase();db.insert("book", null, values););修改数据按钮btgai=(Button)findViewById(R.id.xiu);btgai.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubSQLiteDatabase db=myd
15、b.getWritableDatabase();db.execSQL("update book set name='孙孟也' where name='smy'"););删除数据按钮btdelete=(Button)findViewById(R.id.delete);btdelete.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubSQLiteDatabase db=mydb
16、.getWritableDatabase();db.execSQL("delete from book where name='孙孟也'"););查询数据按钮btcha=(Button)findViewById(R.id.select);btcha.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stub SQLiteDatabase db=mydb.getWritableDatabase();
17、/查询Book表中所有的数据 Cursor cursor=db.query("Book", null, null, null, null, null, null); if(cursor.moveToFirst() do/遍历cursor对象,取出数据并打印String name=cursor.getString(cursor.getColumnIndex("name");String author=cursor.getString(cursor.getColumnIndex("zuozhe");double price=cursor.getDouble(cursor.getColumnIndex("price");int pages=cursor.getInt(cursor.getColumnIndex("page");Log.d(&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识产权授权协议书范本
- 商业店铺租赁合同范本
- 红河卫生职业学院《物理化学(II)》2023-2024学年第二学期期末试卷
- 河南质量工程职业学院《影视与影像(视听语言与创意表达)》2023-2024学年第二学期期末试卷
- 河南财政金融学院《并行处理与分布式计算》2023-2024学年第二学期期末试卷
- 贵州大学《计算机伦理学》2023-2024学年第二学期期末试卷
- 大庆职业学院《燃料燃烧与器具》2023-2024学年第二学期期末试卷
- 长春中医药大学《咖啡文化与鉴赏》2023-2024学年第二学期期末试卷
- 内蒙古医科大学《道路勘测设计B》2023-2024学年第二学期期末试卷
- 辽宁中医药大学杏林学院《中东史》2023-2024学年第二学期期末试卷
- 2024年服装门店批发管理系统软件项目可行性研究报告
- 交通法规课件
- (优化版)高中地理新课程标准【2024年修订版】
- 《Python程序设计》课件-1:Python简介与应用领域
- 各类心理量表大全
- 体育概论(第二版)课件第三章体育目的
- DB11T 1481-2024生产经营单位生产安全事故应急预案评审规范
- 《氓》教学设计 2023-2024学年统编版高中语文选择性必修下册
- 《网店运营与管理》第3版 课件全套 白东蕊 第1-11章 网上开店概述- 移动网店运营
- 2024年全国国家电网招聘之电网计算机考试历年考试题(附答案)
- 化学元素周期表注音版
评论
0/150
提交评论