小弟需要循环更新一个字段(Tuc)的值(每条值都要是一个12到14这三个数的随机值,)Where条件是另外一个字段(ult)的值例如while not Query1.Eof do
begin
Randomize;
with Query2 do
begin
Close;
Sql.Clear;
Sql.Add('Update Namebc Set Tuc = :a Where (ID = :b)');
Sql.Add('and ((ult = ''1'') or (ult = ''2'') or(ult = ''3'')');
Parametere.ParamByName('a').Value := inttostr(random(2) + 12);//就是这里,应该怎么写?我这样写不对.
Parameters.ParamByName('b').Value := Query1.FieldByName('ID').AsString;
execsql;
end;
Query1.next;
end;如果按照我以上的写法,只会随机产生一个数,然后把所有ult字段等于1,2,3的数都更新成一个样的了.例如产生了一个14,把所有ult字段比对出来的1,2,3对应的Tuc字段全都更新成14了,我需要的效果是每更新一条就,重新Randomize;产生一个新的随机数更新下一条.谢谢各位大哥大姐.小弟在线等
begin
Randomize;
with Query2 do
begin
Close;
Sql.Clear;
Sql.Add('Update Namebc Set Tuc = :a Where (ID = :b)');
Sql.Add('and ((ult = ''1'') or (ult = ''2'') or(ult = ''3'')');
Parametere.ParamByName('a').Value := inttostr(random(2) + 12);//就是这里,应该怎么写?我这样写不对.
Parameters.ParamByName('b').Value := Query1.FieldByName('ID').AsString;
execsql;
end;
Query1.next;
end;如果按照我以上的写法,只会随机产生一个数,然后把所有ult字段等于1,2,3的数都更新成一个样的了.例如产生了一个14,把所有ult字段比对出来的1,2,3对应的Tuc字段全都更新成14了,我需要的效果是每更新一条就,重新Randomize;产生一个新的随机数更新下一条.谢谢各位大哥大姐.小弟在线等
解决方案 »
- 问个文件关联的问题
- delphi中 如何使用QReport 实现定位打印
- 关于查询语句的困惑
- FasterReport中报表打印的问题!!急急。。请各位大侠帮忙!
- 请问MDI窗体是不是不能钱套 APPLICATION窗体啊
- 做一个web服务,如何在web服务里面使用ativex控件那?来者有分
- 不可忍受了!!!ADO的数据刷新为什么这么慢啊?
- 怎样在DBGRID相对应的字段中嵌入如下的控件 dbcombobox1 DBLookUpComboBox DBmemo,只要提代码都给分
- 关于dat类型数据库的问题
- 如何让自己编写的应用程序在开机时全屏并无法被关闭呢?
- 100分求一个delphi的单向循环链表的例子
- tclintdataset控件,怎么用?能连数据库吗?
begin
Close;
Sql.Clear;
Sql.Add('select * Namebc where (ID = :b)');
Sql.Add('and ((ult = ''1'') or (ult = ''2'') or(ult = ''3'')');
Parameters.ParamByName('b').Value := Query1.FieldByName('ID').AsString;
Open;
if Not Empty then
begin
First;
while not Eof do
begin
Edit;
FieldByname('Tuc').AsString := inttostr(random(2) + 12);
Post;
Next;
end;
end;
end; Parametere.ParamByName('a').Value := inttostr(random(2) + 12);//就是这里,应该怎么写?我这样写不对.
begin
Randomize;
with Query2 do
begin
Close;
Sql.Clear;
Sql.Add('Update Namebc Set Tuc = :a Where (ID = :b)');
Sql.Add('and ((ult = ''1'') or (ult = ''2'') or(ult = ''3'')');
Parameters.ParamByName('b').Value := Query1.FieldByName('ID').AsString;
while not Eof do
begin
Edit;
FieldByname('Tuc').AsString := inttostr(random(2) + 12);
Post;
Next;
execsql; end;
Query1.next;
end;