我不知道如果你能幫我解決一個非常簡單的問題,我似乎解決了。SQL更新(德爾福)
基本上,我在Delphi 7中創建了一個投票系統。用戶選中複選框投票「是」之後,我需要通過增加「是投票」字段來更新我的表「規則」。
這裏是問題出在哪裏,出於某種原因,表是總是增加值2而不是1!
無論如何請協助,我很新,所以請耐心等待。
這裏是我的代碼: (注:「再見」是從一個複選框值的布爾 「RuleID」被鏈接到一定的規則一個字段名到付諸表決)
if bYes = True then
begin
qry1.Active := False;
qry1.SQL.Text := 'UPDATE rules SET [Yes votes] = [yes votes] + 1 WHERE ruleid = "1"';
qry1.ExecSQL;
qry1.Active := True;
end
else
qry1.close;
qry1.SQL.Text := 'UPDATE rules SET [no votes] = [no votes] + 1 WHERE ruleid = "1"';
qry1.ExecSQL;
qry1.Open;
除了缺乏的'在else分支中開始,結束'qry1.Open'或'qry1.Active = True'應該被刪除,因爲這會導致組件的額外執行,然後依賴於組件的錯誤。你只需要使用qry1.ExecSQL。 – bummi
@bummi:這就是爲什麼:'問題:表總是增加一個值2而不是1!'。您的評論應該是答案。 –
安全提示:不要忘記使用SQL參數;) –