들르시는 분들 한번 봐주시기 바랍니다...
무식하기 이를대 없습니다..
욕하시지 마시고 __;
with ReturnProcQuery do
begin
Close;
SQL.Clear;
SqlStr := 'select id, bet_chip from bet_lucky where bet_num = '''+ist_lucky_num.Text+''' and hoicha = '''+InsertHoichaEdt.Text+''' ';
SQL.Text := SqlStr;
open;
if RecordCount = 0 then
begin
ShowMessage('해당하는 데이타가 없습니다..');
exit;
end else
begin
max := ReturnProcQuery.RecordCount;
ReturnProcQuery.First;
for i:= 1 to max do
begin
dangchumid := ReturnProcQuery.FieldByName('id').AsString;
dangchumchip := ReturnProcQuery.FieldByName('bet_chip').AsInteger;
Label2.Caption := FloatToStr(moneysum/dangchumchip);
return_rate1 := FloatToStr(moneysum / dangchumchip+100);
return_rate := moneysum / dangchumchip*10;
return_sum := FloatToStr(Trunc(dangchumchip * return_rate / 10));
return_chip := return_sum;
Close;
SQL.Clear;
SqlStr := 'update bet_lucky set bedang_rate = '''+return_rate1+''', ';
SqlStr := SqlStr + 'bedang_chip = '''+return_chip+''', return_day = GETDATE() ';
SqlStr := SqlStr + 'where id = '''+dangchumid+''' and bet_num = '''+ist_lucky_num.Text+''' and hoicha = '''+InsertHoichaEdt.Text+''' ';
SQL.Text := SqlStr;
ExecSQL;
Next;
// open;
end;
end;
ProcReadEdt.Text := IntToStr(ReturnProcQuery.RecordCount);
end;
end;
내용인 즉슨 데이블에 where절 조건에 맞는 여러개의 데이타가 들어와서..그걸 한건한건 처리해야 되는댕.... 일정한 값을 곱해주어서 처리해야 되는댕..
한번은 잘 처리가 되는댕...for문이 안돌아가네영..
에러 메세지
'RetrunProcQuery:Cannot perform this operation on a closed dataset'
고수님들의 따뜻한 손길 부탁드립니다..
읽어주셔서 감사합니다...
update용 query를 하나 더 사용하시기 바랍니다..
그리고 RecordCount사용은 절제하시길..^^
with with ReturnProcQuery do
begin
close;
sql.clear;
sql.add('select * from ****')
open;
if isEmpty then
begin
ShowMessage('해당하는 데이타가 없습니다..');
exit;
end;
Query2.Sql.Clear;
while Not Eof do
begin
Query2.Sql.Clear;
Query2.Sql.add('Update ****');
Query2.ExecSql;
Query2.Prepare;
Next;
end;
end;