我要实现的功能是当我根据一个条件如书名查询一条记录的时候
如果表中没有此条记录,就返回信息showmessage('没有此条记录')
我是用DBGRID显示的
用数据集.locate()好像不行
if (dataform.StoredProc19.locate('复本控制号',trim(edit1.Text),[]))or(dataform.StoredProc19.locate('书名',trim(edit2.Text),[]))
or(dataform.StoredProc19.locate('类别',trim(edit3.Text),[]))or(dataform.StoredProc19.locate('作者',trim(edit4.Text),[]))
or(dataform.StoredProc19.locate('出版社',trim(edit5.Text),[]))or(dataform.StoredProc19.locate('价格',strtofloat(trim(edit6.Text)),[]))=false then
application.MessageBox('对不起,没有此条记录','信息',mb_iconinformation)
如果表中没有此条记录,就返回信息showmessage('没有此条记录')
我是用DBGRID显示的
用数据集.locate()好像不行
if (dataform.StoredProc19.locate('复本控制号',trim(edit1.Text),[]))or(dataform.StoredProc19.locate('书名',trim(edit2.Text),[]))
or(dataform.StoredProc19.locate('类别',trim(edit3.Text),[]))or(dataform.StoredProc19.locate('作者',trim(edit4.Text),[]))
or(dataform.StoredProc19.locate('出版社',trim(edit5.Text),[]))or(dataform.StoredProc19.locate('价格',strtofloat(trim(edit6.Text)),[]))=false then
application.MessageBox('对不起,没有此条记录','信息',mb_iconinformation)
or(dataform.StoredProc19.locate('类别',trim(edit3.Text),[]))or(dataform.StoredProc19.locate('作者',trim(edit4.Text),[]))
or(dataform.StoredProc19.locate('出版社',trim(edit5.Text),[]))or(dataform.StoredProc19.locate('价格',strtofloat(trim(edit6.Text)),[]))=true then
application.MessageBox('对不起,没有此条记录','信息',mb_iconinformation)
with dataform.StoredProc19 do begin
First;
while not Eof do begin
if (FieldByName('复本控制号').AsString = trim(edit1.Text)) or
(FieldByName('书名').AsString = trim(edit1.Text)) or
(FieldByName('类别').AsString = trim(edit1.Text)) or
(FieldByName('作者').AsString = trim(edit1.Text)) or
(FieldByName('出版社').AsString = trim(edit1.Text)) or
(FieldByName('价格').AsString = trim(edit1.Text)) then
begin
Exit; // 找到记录
end;
end;
end;
// 没找到
application.MessageBox('对不起,没有此条记录','信息',MB_ICONINFORMATION);
with dataform.StoredProc19 do begin
First;
while not Eof do begin
if (FieldByName('复本控制号').AsString = trim(edit1.Text)) or
(FieldByName('书名').AsString = trim(edit1.Text)) or
(FieldByName('类别').AsString = trim(edit1.Text)) or
(FieldByName('作者').AsString = trim(edit1.Text)) or
(FieldByName('出版社').AsString = trim(edit1.Text)) or
(FieldByName('价格').AsString = trim(edit1.Text)) then
begin
Exit; // 找到记录
end;
end;
end;
// 没找到
application.MessageBox('对不起,没有此条记录','信息',MB_ICONINFORMATION);
with StoredProc1 do begin
First;
while not Eof do begin
if (FieldByName('复本控制号').AsString = trim(edit1.Text)) or
(FieldByName('书名').AsString = trim(edit1.Text)) or
(FieldByName('类别').AsString = trim(edit1.Text)) or
(FieldByName('作者').AsString = trim(edit1.Text)) or
(FieldByName('出版社').AsString = trim(edit1.Text)) or
(FieldByName('价格').AsString = trim(edit1.Text)) then
begin
Exit; // 找到记录
end;
Next;
end;
end;
我要实现的功能是当我根据一个条件如书名查询一条记录的时候
表中没有此条记录,就返回信息showmessage('没有此条记录')
仅此而己
请教
放一个button
写上
with StoredProc1 do begin
First;
while not Eof do begin
if (FieldByName('复本控制号').AsString = trim(edit1.Text)) or
(FieldByName('书名').AsString = trim(edit1.Text)) or
(FieldByName('类别').AsString = trim(edit1.Text)) or
(FieldByName('作者').AsString = trim(edit1.Text)) or
(FieldByName('出版社').AsString = trim(edit1.Text)) or
(FieldByName('价格').AsString = trim(edit1.Text)) then
begin
Exit; // 找到记录
end;
Next;
end;
end;就可以了,当按这个button的时候,如果在数据库中找不到就不会说找不到,找到了就做你要做的事,如果找到了你不想做任何事,你就把 begin
Exit; // 找到记录
end;
这里的'Exit; // 找到记录'删除掉