当前位置: 首页 > news >正文

erlang学习: Mnesia Erlang数据库2

Mnesia数据库增加与查询学习

-module(test_mnesia).-record(shop, {item, quantity, cost}).
-record(cost, {name, price}).
-record(design, {info, plan}).
%% API
-export([insert/3,select/1,start/0]).
start() ->mnesia:start().insert(Name, Quantity, Cost) ->Row = #shop{item = Name, quantity = Quantity, cost = Cost},F = fun() ->mnesia:write(Row)end,mnesia:transaction(F).select() ->qlc:q([X || X <- mnesia:table(shop)]).

能够插入但是不能查询
请添加图片描述

需要对do函数进行实现,才能展示出数据库中的数据,do函数在书上20.4.3有相应实现

-module(test_mnesia).
-include_lib("stdlib/include/qlc.hrl").-record(shop, {item, quantity, cost}).
%% API
-export([insert/3,select/0,start/0,do_this_once/0]).
start() ->mnesia:start().insert(Name, Quantity, Cost) ->Row = #shop{item = Name, quantity = Quantity, cost = Cost},io:format("inserting ~p~n", [Row]),F = fun() ->mnesia:write(Row)end,mnesia:transaction(F).select() ->do(qlc:q([X || X <- mnesia:table(shop)])).do(Q) ->F  = fun() ->qlc:e(Q)end,{atomic,Val} = mnesia:transaction(F),Val.

实现do函数后的代码运行截图
请添加图片描述

http://www.lryc.cn/news/435276.html

相关文章:

  • 电脑文件怎么备份?推荐6个高效便捷的文件备份的方法
  • Procdump抓ToDesk密码
  • ESP8266下载固件→连接阿里云
  • 20240911软考架构-------软考156-160答案解析
  • 工厂模式与策略模式(golang示例)
  • 批量视频如何做成一个二维码(分步骤教程)
  • OpengGL教程(三)---使用VAO和VBO方式绘制三角形
  • 【单片机开发】单片机常用开发工具
  • 一、计算机网络的体系结构
  • C语言补习课——文件篇
  • 【可测试性实践】C++ 单元测试代码覆盖率统计入门
  • C++笔记---list
  • JavaWeb开发中为什么Controller里面的方法是@RequestMapping?
  • 若依移动版使用微信小程序打开失败
  • 精准控图工具 Concept Sliders:超好用的 控制 Lora 适配器
  • 【EI会议征稿通知】第四届材料工程与应用力学国际学术会议(ICMEAAE 2025)
  • Hadoop安全之Knox
  • SprinBoot+Vue应急信息管理系统的设计与实现
  • 索尼研究的AI部门将与AI新加坡合作开发大型语言模型
  • 【OJ刷题】双指针问题
  • 基于SpringBoot+Vue+MySQL的校园食堂订餐
  • uniapp业务实现
  • Windows和Mac命令窗快速打开文件夹
  • 智能制造云平台---附源码79117
  • 降本、创新、合作,谁才是连接器行业破除内卷的关键词?
  • 可能一拆为二,英特尔为何走到今天这一步?
  • 了解Redis集群概念,集群如何选举主节点
  • Ozon跨境商家提升销量的关键:测评补单策略与必备条件
  • 缺乏大模型经验,还有机会吗?
  • 如何阅读李冬梅老师《数据结构》