关于网友提出的“ 兄弟们,请大家帮帮我,谢谢了!”问题疑问,本网通过在网上对“ 兄弟们,请大家帮帮我,谢谢了!”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 兄弟们,请大家帮帮我,谢谢了!描述:
我做的工资表,现检查出一bug,就是我在同一天(如2002/11/27),输入工号相同的员工工资他不会提示我出错, 因为我是以工资序号为主键的.请问我应该如何检测出这个错误?我知道要判断两个,一个是是否同一录入日期.一个是后输入的工号是否他前面的工号相同.
因该是在adoquery1的onposterror中输入
if 判断是否日期相同 then
if 工号中否相同 then
begin
showmessage('工号相同');
adoquery1.cancel;
abort;
end;
请指教.写完整.如果看不懂,我在线讨论.谢谢.
解决方案1:
你在adoquery1的BeforePost中输入
var
begin
with tempadoquery do
begin
close;
sql.clear;
sql.add('select * from 工资表');
open;
first;
while not eof do
begin
if (FieldByName('日期').AsString= DataSet.FieldByName('日期').AsString) and ( FieldByName('工号').AsString= DataSet.FieldByName('工号').AsString) then
Raise Exception.Create('工号相同');
next;
end;
end;
end;
以工号为主键可以吗 ?