高手大家帮忙啊!看看这个值怎么取出来判断?

本文讨论了使用Delphi进行数据库查询时出现的问题,并提供了一种改进的方法来检查教师姓名是否已存在于数据库中。
高手大家帮忙啊!看看这个值怎么取出来判断? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061225142811116.html
self.LJBQuery.Close;  
  self.LJBQuery.SQL.Clear;  
  self.LJBQuery.SQL.Text   :='select   distinct   count(*)   from   LJB   where   教师姓名=:xingming';  
  self.LJBQuery.ParamByName('xingming').Value:=(self.JSXMDBLookupComboBox.Text);  
  count:=self.LJBQuery.Fields[0].AsInteger;  
  self.LJBQuery.ExecSQL;  
  if   count>0   then  
      ShowMessage('教师姓名已经存在!');  
   
  高手帮我看看!  
  这段代码提示错误!我想判断当前输入的教师姓名是否已经存在,怎么办?  
  这个方法不对   吗?高手给个正确的方法!我以前做C#的,现在研究下Delphi!  
  谢谢高手!

self.LJBQuery.Close;  
  self.LJBQuery.SQL.Clear;  
  self.LJBQuery.SQL.Text   :='select   distinct   count(*)   from   LJB   where   教师姓名=:xingming';  
  self.LJBQuery.ParamByName('xingming').Value:=(self.JSXMDBLookupComboBox.Text);  
  self.LJBQuery.Open;  
  count:=self.LJBQuery.Fields[0].AsInteger;  
   
  if   count>0   then  
      ShowMessage('教师姓名已经存在!');  
 

还没执行查询就去读它的值,当然会有问题的。同意楼上。

为什么要加   distinct   做什么用?

我觉得您的这段SQL代码是在增加开销,如楼上所说为什么要用distinct呢,   相同名,你只要Select   教师姓名   from   L_JB   where   教师姓名=:xingming  
  然后通过   query.RecordCount>0(不稳定)     或者   query.IsEmpty=true     或者   if   (query.bof=query.eof)   then   //none!   else     //有记录

同意maozefa(阿发伯)  
  建议多使用with   写的代码又快又好看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值