delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
高手大家帮忙啊!看看这个值怎么取出来判断? 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   写的代码又快又好看

posted on 2008-10-20 10:33 delphi2007 阅读(80) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。