当前位置:   article > 正文

HarmonyOS应用开发JSAPI-js数据库dataRdb_harmonyos js开发案例

harmonyos js开发案例

前置:
Api:8
语言:js开发

参考地址:
文档中心

开始:
1.创建项目:

2.示例代码
test.hml

  1. <div class="container">
  2. <button type="capsule" class="btn" onclick="CreateRdbStore">创建数据库</button>
  3. <div class="dataRdpBtn">
  4. <button type="capsule" class="btn" onclick="insertData">写入数据</button>
  5. <button type="capsule" class="btn" onclick="selectData">查询数据</button>
  6. <button type="capsule" class="btn" onclick="updateData">修改数据</button>
  7. <button type="capsule" class="btn" onclick="deleteData">删除数据</button>
  8. </div>
  9. <div class="dataRdpBox">
  10. <text class="text"><span>写入姓名:{{ name }}</span></text>
  11. <text class="text"><span>写入年龄:{{ age }}</span></text>
  12. <divider style="background-color: black;height: 2px;"></divider>
  13. <text class="text"><span>查询姓名:{{ name1 }}</span></text>
  14. <text class="text"><span>查询年龄:{{ age1 }}</span></text>
  15. <divider style="background-color: black;height: 2px;"></divider>
  16. </div>
  17. </div>

test.css

  1. .container {
  2. flex-direction: column;
  3. justify-content: center;
  4. align-items: center;
  5. width: 100%;
  6. height: 100%;
  7. }
  8. .dataRdpBtn{
  9. flex-direction: row;
  10. justify-content: center;
  11. align-items: center;
  12. width: 100%;
  13. flex-wrap: wrap;
  14. }
  15. .btn {
  16. font-size: 50px;
  17. margin: 10px;
  18. }
  19. .dataRdpBox{
  20. flex-direction: column;
  21. justify-content: flex-start;
  22. align-items: flex-start;
  23. width: 90%;
  24. height: 500px;
  25. border: 2fp;
  26. }
  27. .text{
  28. font-size: 50px;
  29. width: 100%;
  30. margin: 10px;
  31. }

test.js

  1. export default {
  2. data: {
  3. rdb: null,
  4. name: "",
  5. age: "",
  6. name1: "",
  7. age1: "",
  8. },
  9. //创建数据库
  10. CreateRdbStore() {
  11. var that = this;
  12. dataRdb.getRdbStore({
  13. name: "demoRdb.db",
  14. }, 1, function (err, rdbStoreData) {
  15. if (err) {
  16. console.log('获取失败' + err)
  17. } else {
  18. const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER)"
  19. rdbStoreData.executeSql(SQL_CREATE_TABLE, null)
  20. that.rdb = rdbStoreData;
  21. console.log('dataRdb success' + that.rdb)
  22. }
  23. })
  24. },
  25. //写入数据
  26. insertData() {
  27. let that = this;
  28. const dataObj = {
  29. "NAME": "张三",
  30. "AGE": 20,
  31. }
  32. let promise = that.rdb.insert("EMPLOYEE", dataObj)
  33. promise.then(async (ret) => {
  34. console.log("插入成功: " + ret)
  35. that.name = dataObj.NAME;
  36. that.age = dataObj.AGE;
  37. }).catch((err) => {
  38. console.info(err)
  39. })
  40. },
  41. //查询数据
  42. selectData() {
  43. let that = this;
  44. let selectData = new dataRdb.RdbPredicates("EMPLOYEE")
  45. selectData.equalTo("NAME", that.name)
  46. console.log("查询条件:" + that.name)
  47. that.rdb.query(selectData, ["ID", "NAME", "AGE"], function (err, resultSet) {
  48. console.info(" success resultSet columnNames:" + resultSet.columnNames)
  49. console.info(" success resultSet columnCount:" + resultSet.columnCount)
  50. if (resultSet.rowCount > 0) {
  51. resultSet.goToFirstRow();
  52. const id = resultSet.getLong(resultSet.getColumnIndex("ID"))
  53. const name = resultSet.getString(resultSet.getColumnIndex("NAME"))
  54. const age = resultSet.getLong(resultSet.getColumnIndex("AGE"))
  55. console.log("id:" + id + "||" + "name:" + name + "||" + "age:" + age);
  56. that.name1 = name;
  57. that.age1 = age;
  58. } else {
  59. console.log("NOT DATA");
  60. }
  61. })
  62. },
  63. //修改数据
  64. updateData() {
  65. var that = this;
  66. let updateValue = {
  67. "NAME": "李四",
  68. "AGE": 25,
  69. }
  70. let updateData = new dataRdb.RdbPredicates("EMPLOYEE")
  71. updateData.equalTo("NAME", that.name)
  72. console.log("查询条件:" + that.name)
  73. that.rdb.update(updateValue, updateData, function (err, ret) {
  74. console.log("修改数据成功:" + ret)
  75. that.name = updateValue.NAME;
  76. that.age = updateValue.AGE;
  77. })
  78. },
  79. //删除数据
  80. deleteData() {
  81. let that = this
  82. let deleteData = new dataRdb.RdbPredicates("EMPLOYEE")
  83. deleteData.equalTo("NAME", that.name)
  84. that.rdb.delete(deleteData, function (err, rows) {
  85. if (rows.rowCount > 0) {
  86. rows.goToFirstRow();
  87. const name = rows.getString(rows.getColumnIndex("NAME"))
  88. const age = rows.getLong(rows.getColumnIndex("AGE"))
  89. console.log("name:" + name + "||" + "age:" + age);
  90. that.name = "";
  91. that.age = "";
  92. that.name1 = "";
  93. that.age1 = "";
  94. } else {
  95. console.log("NOT DATA");
  96. }
  97. console.log("删除成功: " + rows)
  98. })
  99. }
  100. }

3.效果如图:

4、代码地址
(HarmonyOSAPP开发相关组件: 深圳市蛟龙腾飞网络科技有限公司 - Gitee.com)

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

闽ICP备14008679号