【发布时间】:2017-02-21 22:40:56
【问题描述】:
我正在为大学(英国大学,而不是大学)开发一个项目,它非常小,但包含一些 SQL,因为我有一个数据库来跟踪用户所做的一切。在我的帐户创建页面上,我有一个针对我的数据库运行此 SQL 的查询:
INSERT INTO Users (UName, FName, SName, PWord, ULevel)
VALUES (:pmUName, :pmFName, :pmSName, :pmPWord, :pmULevel);
任何以:pm 开头的参数都是我可以在 Delphi 中控制的参数,我只是想知道是否有一些非常重要的东西我遗漏了,因为它在执行时不会插入到表 Users 中。
【问题讨论】:
-
日志说什么? (他们还在教德尔福,哇)
-
可能是一切,没有表模式和错误日志就不可能回答。但是,非常奇怪的是,您
INSERT是一个只有ULevel而没有其他数据的新记录。我的一个疯狂猜测是,您在插入时省略了不可为空的列,而没有默认值... -
我没有任何日志,我也不确定如何生成日志,但似乎它甚至没有触及数据库,我正在运行 Access 2003 数据库因为这似乎是 Delphi 在这种类型的连接上唯一会与之通信的东西(我认为它是一个较旧的协议,我在 XE4 中使用它,但这是我现在在 XE10 中习惯的)。添加 StevenMcGovern 建议的内容,表格的布局看起来像 this,我已经将 ULevel 移动到看起来像编辑过的原始帖子
-
您使用的是哪个 DBMS?您是否正确提交了插入?您是否正确处理代码中的错误?
-
你能贴出你用来执行那个 SQL 的 Delphi 代码吗?,它一定是那里缺少的东西。