有一个SQL字符串的问题实际上没有做任何事情

时间:2017-02-21 22:40:56

标签: sql database delphi

我正在为一所大学项目(英国大学,而不是大学)工作,它很小但是包含了一些SQL,因为我有一个用于跟踪用户所做事情的数据库。在我的帐户创建页面上,我有一个针对我的数据库运行此SQL的查询:

INSERT INTO Users (UName, FName, SName, PWord, ULevel)
VALUES (:pmUName, :pmFName, :pmSName, :pmPWord, :pmULevel);

任何以:pm开头的东西都是我可以在Delphi中控制的参数,我只是想知道是否有一些非常重要的东西,因为它并没有丢失。 t执行时插入表Users

2 个答案:

答案 0 :(得分:0)

根据您使用的数据库,您可能在需要提交的事务中运行SQL? (即BEGIN;通常会启动一个事务,如果任何SQL中出现错误,COMMIT将提交所有内容或ROLLBACK

但是,作为第一步,您的日志将显示NimChimpsky建议的实际错误。

答案 1 :(得分:0)

这可能会让我的问题失败,但在追踪代码一百万次之后,我注意到我的用户名的验证被撤消了,所以如果用户名已经存在,它会通过,但如果没有,它将返回false和不执行SQL。我很久以前就编写了这个特定的代码,直到我让一个朋友看过这个项目并且他们决定追踪它时才认为这是问题。 SQL没有任何实际问题,所以很多人都花时间去诊断一个非问题。

TLDR: 在假设代码错误之前确保代码正在执行