H
huxhang
Unregistered / Unconfirmed
GUEST, unregistred user!
如何办?在线等待!这段代码那儿出问题请指教!<br><br>我的要求:<br>从adoquery1中查询:当字段'赛事ID'=edt_ID.text时,会得到120条左右的记录;<br>我要从120条中的第1条记录开始判断:<br>当字段'初预胜位'的值是最大 或 最小,那么adoquery1.fieldbyname('初测胜').Asstring:=3<br>当字段'初预平位'的值是最大 或 最小,那么adoquery1.fieldbyname('初测平').Asstring:=1<br>当字段'初预负位'的值是最大 或 最小,那么adoquery1.fieldbyname('初测负').Asstring:=0<br>好第一条完了,再从第2条开始再判断,直到最后一条,<br>可下面的代码判断出来的全是第1条的结果写进所有的记录中,及所有的判断结果和第1条一样!<br>如何办?<br><br>判断第1条记录的某结果我要写回第1条记录的某字段,再第2,3...,可是这代码把第1条的判断<br>结果,写回每条记录(即120条的判断结果都是第一条的判断结果)。。。<br><br>procedure TFrm_DataEdit.BitBtn3Click(Sender: TObject);<br>var<br>my_sql,zSQL:string;<br>ccsbz,ccpbz,ccfbz:string;<br>cys,cyf,cyp:integer;<br>begin<br> if edt_ID.text<>'' then zSQL:='and (赛事ID="'+edt_ID.text+'"';<br> if ( db_C3.text<>'') then<br> begin<br> showmessage('此ID赛果已预测过,请选择下一条!') ;<br> end<br> else begin<br> if messagedlg('进行赛果预测, 是吗?',mtconfirmation,[mbyes,mbno],0)=mryes then<br> begin <br> try<br> adoquery1.close;<br> adoquery1.sql.clear;<br> my_sql:= 'select * from zq0304ies where not 初预胜 is null and (not 博彩公司="最 高 值" '+zSQL;<br> ADOquery1.sql.text:=my_sql;<br> adoquery1.open;<br> //开始标记<br> cys:=strtoint(adoquery1.fieldbyname('初预胜位').asstring);<br> cyp:=strtoint(adoquery1.fieldbyname('初预平位').asstring);<br> cyf:=strtoint(adoquery1.fieldbyname('初预负位').asstring);<br> // 1. 判断最大<br> if (adoquery1.fieldbyname('初预胜位').asstring<>'')<br> and (adoquery1.fieldbyname('初预平位').asstring<>'')<br> and (adoquery1.fieldbyname('初预负位').asstring<>'')<br> then <br> begin<br> // 初预胜位是最大 或 最小 就设置ccsbz:='3'<br> if ( ( cys > cyp  and ( cys > cyf    then <br> begin<br> ccsbz:='3'; //初测胜<br> end;<br> // 初预平位是最大 或 最小 就设置ccpbz:='1'<br> if ( ( cyp > cys  and ( cyp > cyf   then <br> begin<br> ccpbz:='1'; //初测平<br> end;<br> // 初预负位是最大 或 最小 就设置ccfbz:='0'<br> if (( cyf > cys  and ( cyf > cyp   then <br> begin<br> ccfbz:='0'; //初测负<br> end;<br> end;<br><br> if not adoquery1.isempty then //用循环将记录号也就相当于顺序号存入表中<br> begin<br> adoquery1.first;<br> while not adoquery1.eof do<br> begin<br> adoquery1.edit;<br> adoquery1.fieldbyname('初测胜').Asstring:=ccsbz;<br> adoquery1.fieldbyname('初测平').Asstring:=ccpbz;<br> adoquery1.fieldbyname('初测负').Asstring:=ccfbz;<br> adoquery1.next;<br> end;<br> //adoquery1.next;<br> end;<br> end;<br>except<br>showmessage('此ID赛果已预测过,请选择下一条!') ;<br>end;<br> end;<br> StatusBar1.Panels[4].Text:= '处理完毕!' ;<br>end;