当前位置:   article > 正文

鸿蒙开发之操作sqlite_鸿蒙打包sqllite

鸿蒙打包sqllite

一、执行过程:

   首先需要获取操作数据库帮助对象 Databasehelper , 然后通过这个对象调用这个对象的getRdbStore方法 , 这个方法需三个参数 1. StoreConfig类型的参数 , 2.version(整型) , 3.抽象类 。 这个抽象类里面有两方法 onCreate 和 onUpgrade , 其中 onCreate 是在创建数据表示被调用  换句话说就是监听数据表的创建的 而 onUpgrade 是监听数据表的提升和更新的 ;调用这个方法的目的是为了得到RdbStore对象 在鸿蒙开发中这个对象是专门用来操作数据表的 , 而onCreate方法里携带了一个参数就是RdbStore 对象 。 然后就可以使用这个对象来操作数据表执行sql语句了 ,最后注意:

别忘记关闭资源RdbStore  ;

二、图解过程:

 

三、代码实现:

xml代码:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <DirectionalLayout
  3. xmlns:ohos="http://schemas.huawei.com/res/ohos"
  4. ohos:height="match_parent"
  5. ohos:width="match_parent"
  6. ohos:alignment="center"
  7. ohos:orientation="vertical">
  8. <Button
  9. ohos:id="$+id:sqlite_select_01_"
  10. ohos:height="match_content"
  11. ohos:width="match_parent"
  12. ohos:text_size="30vp"
  13. ohos:text="查询数据表"
  14. />
  15. </DirectionalLayout>

java代码:

  1. import com.example.server.ResourceTable;
  2. import com.example.server.baseability.baseability;
  3. import ohos.aafwk.ability.AbilitySlice;
  4. import ohos.aafwk.content.Intent;
  5. import ohos.agp.components.Button;
  6. import ohos.agp.components.Component;
  7. import ohos.app.Context;
  8. import ohos.data.DatabaseHelper;
  9. import ohos.data.preferences.Preferences;
  10. import ohos.data.rdb.RdbOpenCallback;
  11. import ohos.data.rdb.RdbStore;
  12. import ohos.data.rdb.StoreConfig;
  13. import ohos.data.resultset.ResultSet;
  14. public class sqliteSlice extends baseability {
  15. public DatabaseHelper helper ;
  16. public StoreConfig config ;
  17. private final String NAME = "data.sqlite" ;
  18. private RdbStore rdbStore ;
  19. private Button select ;
  20. // RdbStore rdbStore ;
  21. @Override
  22. public void onStart(Intent intent) {
  23. super.onStart(intent);
  24. super.setUIContent(ResourceTable.Layout_ability_sqlite);
  25. getcpt();
  26. event();
  27. }
  28. @Override
  29. public void onActive() {
  30. super.onActive();
  31. }
  32. @Override
  33. public void onForeground(Intent intent) {
  34. super.onForeground(intent);
  35. }
  36. @Override
  37. public void getcpt() {
  38. select = (Button)findComponentById(ResourceTable.Id_sqlite_select_01_) ;
  39. }
  40. @Override
  41. public void init() {
  42. }
  43. @Override
  44. public void event() {
  45. select.setClickedListener(new Component.ClickedListener() {
  46. @Override
  47. public void onClick(Component component) {
  48. create(NAME , getContext());
  49. }
  50. });
  51. }
  52. //创建表
  53. private void create(String name , Context context){
  54. helper = new DatabaseHelper(context) ;
  55. config =StoreConfig.newDefaultConfig(name);
  56. helper.getRdbStore(config, 1, new RdbOpenCallback() {
  57. @Override
  58. public void onCreate(RdbStore rdbStore) {
  59. //创建表的时候调用
  60. String SQL = "create table info (id int(10) , name varchar(30))";
  61. String sql ="insert into info values(1, 'keven') ;";
  62. rdbStore.executeSql(SQL);
  63. System.out.println("info创建成功");
  64. rdbStore.executeSql(sql);
  65. System.out.println("插入成功");
  66. select(rdbStore);
  67. }
  68. @Override
  69. public void onUpgrade(RdbStore rdbStore, int i, int i1) {
  70. }
  71. });
  72. // rdbStore = helper.getRdbStore(config, 1, callback , null); //用它来进行操作
  73. }
  74. public void select (RdbStore rdbStore){
  75. String sql = "select * from info;" ;
  76. ResultSet resultSet = rdbStore.querySql(sql, null);
  77. if (resultSet.goToFirstRow()){
  78. System.out.println("数据为:"+ resultSet.getInt(0) +" "+ resultSet.getString(1));
  79. System.out.println("查询完毕");
  80. }else {
  81. System.out.println("查找不到");
  82. }
  83. }
  84. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/264455
推荐阅读
相关标签
  

闽ICP备14008679号