实现VB Windows Forms与SQL Developer数据库的保存与加载
D&D游戏VB WinForms数据存储解决方案与SQL书籍推荐
一、Oracle数据库数据类型选择(适配SQL Developer)
针对你各模块的需求,对应Oracle数据类型推荐如下:
1. 角色表模块
- 角色唯一ID:
NUMBER(10)(设置为主键,配合Oracle序列实现自增) - 角色名称/职业/种族:
VARCHAR2(100)(灵活适配可变长度的文本,长度可按需调整) - 等级、生命值、属性值(力量/敏捷等):
NUMBER(5)(存储整数数值,满足D&D数值范围) - 属性Modifier(如+1.5):
NUMBER(3,1)(支持一位小数的数值) - 背景故事/角色描述:
CLOB(存储大段文本内容,无长度限制) - 创建/修改时间:
DATE(自动记录时间戳)
2. 供应商模块
- 供应商/商品ID:
NUMBER(10)(主键) - 供应商名称/商品名称:
VARCHAR2(100) - 商品价格:
NUMBER(10,2)(支持两位小数的货币格式) - 商品描述:
VARCHAR2(500)(短描述用这个,长描述换CLOB) - 库存数量:
NUMBER(6)(整数库存数值)
3. 参考资料模块
PDF文件建议存储本地/服务器路径,而非直接存数据库:
- 资料ID:
NUMBER(10)(主键) - 资料名称/类型:
VARCHAR2(100) - PDF文件路径:
VARCHAR2(255)(存储文件的绝对/相对路径)
4. 掷骰子记录模块
- 记录ID:
NUMBER(10)(主键) - 关联角色ID:
NUMBER(10)(外键关联角色表) - 骰子类型(如d20/d6):
VARCHAR2(20) - 掷骰结果:
NUMBER(5) - 掷骰时间:
DATE - 备注(如"攻击判定"):
VARCHAR2(200)
VB WinForms调用数据库示例代码
用Oracle官方托管驱动实现数据插入:
' 引用Oracle.ManagedDataAccess.Client Using conn As New OracleConnection("Data Source=你的Oracle实例;User Id=用户名;Password=密码;") conn.Open() Dim insertSql As String = "INSERT INTO Characters (CharName, Level, Strength) VALUES (:charName, :level, :strength)" Using cmd As New OracleCommand(insertSql, conn) ' 绑定参数,避免SQL注入 cmd.Parameters.Add(":charName", OracleDbType.Varchar2).Value = "吟游诗人·莱拉" cmd.Parameters.Add(":level", OracleDbType.Int32).Value = 3 cmd.Parameters.Add(":strength", OracleDbType.Int32).Value = 12 cmd.ExecuteNonQuery() End Using End Using
二、SQL入门到进阶书籍推荐
- 《SQL必知必会(第5版)》:零基础入门首选,内容精炼,覆盖SQL核心语法,通用所有主流数据库,能快速帮你掌握基础操作。
- 《Oracle SQL高级编程》:进阶阶段针对性学习,专门讲解Oracle数据库的高级特性(存储过程、视图、性能优化等),完全匹配你用SQL Developer的场景。
- 《SQL实战》:通过真实业务案例讲解SQL应用,从基础查询到复杂数据分析都有涉及,帮你快速把理论转化为开发能力。
内容的提问来源于stack exchange,提问作者DragonsDescentNovel
相关产品推荐
相关产品推荐

