回车键的问题

guess1975 2003-08-30 08:42:39

void __fastcall TForm4::Edit1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key==VK_RETURN)
{
if ((Edit1->Text=="")//如果我在Edit上敲一下回车键(什么都不输),那么就能
// 浏览数据库的所有记录

{
Query1->Active=true;
Query1->Prior();
}//我在Edit中输入了拼音 再敲回车键,于是就能找到相应的科室
else if (Edit1->Text!="")
{
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select * from KSXX");
Query1->SQL->Add("where PINYM='"+Edit1->Text+"'");
Query1->Open();
}
可是,问题就出来了,当我输入完拼音然后敲回车键,找到了相应的记录,然后删除Edit中的数据,(用Backspace键删除),再敲回车键,想浏览整个数据库,可是怎么不能浏览啊?这是怎么回事,如何才能这样实现?


...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jb9802 2003-08-30
  • 打赏
  • 举报
回复
我想因把
if ((Edit1->Text=="")
改成
if ((Edit1->Text=="\r")
gloom 2003-08-30
  • 打赏
  • 举报
回复
应该还要重新设置SQL语句,
if ((Edit1->Text=="")//如果我在Edit上敲一下回车键(什么都不输),那么就能
// 浏览数据库的所有记录

{
//加上下面这句
 if(Query1->Active) Query->Close();
 Query1->SQL->Text="select * from ksxx";
Query1->Active=true;
Query1->Prior();
}
gloom 2003-08-30
  • 打赏
  • 举报
回复
{
if ((Edit1->Text=="")//如果我在Edit上敲一下回车键(什么都不输),那么就能
// 浏览数据库的所有记录

{
//加上下面这句
 if(Query1->Active) Query->Close();
Query1->Active=true;
Query1->Prior();
}
ljianq 2003-08-30
  • 打赏
  • 举报
回复
Query1->Active=true;
Query1->Prior();
这两句可能会出例外。
星光伴月 2003-08-30
  • 打赏
  • 举报
回复
按照gloom说的方法做还不行的话,就这样判断好了:

if(Edit1->Text.Trim()=="")
{ ......
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧