• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

joy

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

数据库操作(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 默认值名

 

 

posted on 2012-06-25 15:52  joy  阅读(372)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3