数据库操作(Android)
计算机101 谭娇
一、启动eclipse和android虚拟机,运行cmd
1.使用path找到如下路径:

然后启动adb shell,进入linux命令行模式进行数据库编写操作(若无法启动,可在Eclipse中运行虚拟机,然后再进行操作)
2、在/data/data目录下,建立子目录“cqvie.tj15/databases”
#cd data/data
#mkdir cqvie.tj15
#cd cqvie.tj15
#mkdir databases
#cd databases
3.新建数据库
#sqlite3 test.db
4、新建表(与SQL sever编写指令一样)
Sqlite>create table tj(“no”INTEGER,”name” TEXT,”tel” TEXT);
5.查看表结构
Sqlite>select * from sqlite_master where type=”table” and name=“表名”;
6、添加记录
Sqlite>insert into tj(“no”,”name”,”tel”) values (1,”于飞”,“13214134”);
7.显示记录
Sqlite>.explain ON
Sqlite>select * from tj;
二、编写android程序实现表记录相关操作
1、在eclipse中创建安卓项目

项目包名“cqvie.tj15”
2.建立专门用于数据库操作的DHelper类
在cqvie.tj15包上点鼠标右键,新建一个类,类的名称是DHelper,继承自“android.database.sqlite.SQLiteOpenHelper”,基类的名称可以点 按钮进行查找

点击错误提示,在代码中增加构造函数:

注意选择有4个参数的构造函数:

3.设计用户界面
在界面上添加3个按钮(使用水平布局 ),按下图修改按钮的Text属性,并且在按钮上点鼠标右键,选“Edit ID”,将按钮的ID分别改为btnAdd、btnDel和btnUpdate
4.编写代码实现记录添加、删除、修改
定义btnAdd、btnDel、btnUpdate,并通过id关联到具体对象上
设置btnAdd、btnDel、btnUpdate三个按钮对象的事件监听者为this,此时左边出现错误提示,点击提示可以让该类实现OnClickListener接口

实现接口后,类的左边会出现错误提示,点击错误提示,添加应该实现的接口方法:

在自动添加的onClick方法中,增加如下内容,实现记录添加:
接下来对添加功能进行测试,测试之前要将数据库文件test.db的写权限打开,否则会出错
在“/data/data/cqvie.tj15/databases”路径下执行“chmod 777 test.db”命令,修改test.db的权限
运行程序,点击 按钮,然后进入adb shell命令行,查询tj(联系人)表,看记录添加是否成功
按照该方法,依次完成对删除、修改的代码,并在adb shell命令行中查询结果
三、编写android程序实现表记录的显示*
在界面中增加一个“查询”按钮(id为“btnQuery”),和一个多行文本框(类为EditText,id为“txtContent”),如下图:
在按钮点击事件中增加处理代码:
if(id==R.id.btnQuery)
{
Cursor cursor=db.query("tj", new String[]{"*"},"name=?", new String[]{"Wang"}, null, null, null);
String s="查询结果\n";
while(cursor.moveToNext())
{
int no=cursor.getInt(cursor.getColumnIndex("no"));
String name=cursor.getString(cursor.getColumnIndex("name"));
String tel=cursor.getString(cursor.getColumnIndex("tel"));
s+=no+","+name+","+tel+"\n";
}
EditTexttxtView=(EditText) findViewById(R.id.txtView);
txtView.setText(s); }
附加
数据表相关操作指令:
删除表:
Drop table [表名]
插入数据:
INSERT INTO [表名] (字段1,字段2) VALUES (100,'51WINDOWS.NET')
删除数据:
DELETE FROM [表名] WHERE [字段名]>100
更新数据:
UPDATE [表名] SET [字段1] = 200,[字段2] = '51WINDOWS.NET' WHERE [字段三] = 'HAIWA'
新增字段:
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL
删除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]
修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL
重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)
sp_rename '表名', '新表名', 'OBJECT'
新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1')
删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名
新建默认值
ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名]
删除默认值
ALTER TABLE [表名] DROP CONSTRAINT 默认值名
浙公网安备 33010602011771号