高手幫看看,怎麼取到的PCODE值全部是一樣的啊? begin
for i:=0 to Qty do //Qty 為數字值
begin
Pcode:=IntToStr(StrToInt(Copy(Pcode,3,3))+i); sq1:='insert into Equipment(Pcode)values('''+Pcode+''')';
ExeSql(sq1);
end
end;
for i:=0 to Qty do //Qty 為數字值
begin
Pcode:=IntToStr(StrToInt(Copy(Pcode,3,3))+i); sq1:='insert into Equipment(Pcode)values('''+Pcode+''')';
ExeSql(sq1);
end
end;
解决方案 »
- 换个头像试试
- 在线等:请教如何将自己做的资源文件1.rc加入到delphi工程中?解决就给分。
- 程序中回车怎么表示?
- 小问题!!!
- 怎么学习‘的而费‘最好?
- 请问D7 对D5和D6的兼容性怎么样?
- 如何使程序建立关联后,点击相关联的文件后就后自动打开该文件在我的程序里。
- 入门问题:请问“This form of method call only allowed of class methods”错误的原因何在?
- 现在我可以在托盘上显示软件图标,通过单击它可以最小化和最大化程序。我是通过ShowWindow(handl,1)来实
- 急急急!c/s三层midas,打包需要qtintf.dll吗?这是什么东东?
- 这是怎么回事??
- 存储过程的问题,请高手帮忙!
begin
Pcode:=IntToStr(StrToInt(Copy(Pcode,3,3))+i);//这句在第一个循环时已经改写了Pcode的值,它的长度为1位,第二个循环时Copy(Pcode,3,3)得到的值就是''了。这样的结构是肯定不对的. sq1:='insert into Equipment(Pcode)values('''+Pcode+''')';
ExeSql(sq1);
end
end;
for i:=0 to Qty do //Qty 為數字值
begin
Pcode:=pcode111;
Pcode:=IntToStr(StrToInt(Copy(Pcode,3,3))+i);//这句在第一个循环时已经改写了Pcode的值,它的长度为1位,第二个循环时Copy(Pcode,3,3)得到的值就是''了。这样的结构是肯定不对的. sq1:='insert into Equipment(Pcode)values('''+Pcode+''')';
ExeSql(sq1);
end
end;
那么第一次循环过后, pcode 最长只有3位, 可能是 100...999
有何来在下次循环中从第3位开始,再取3为长度呢?-------------
此代码有问题。
pCode 里面是什么,你需要循环得到什么.
我来跟你写
var
i:integer;
Pcode,pcode1:string;
begin
combobox1.Items.Clear;
Pcode1:='PC001';
for i:=0 to 5 do //Qty 為數字值
begin
Pcode:=pcode1;
Pcode:=IntToStr(StrToInt(Copy(Pcode,3,3))+i);//这句在第一个循环时已经改写了Pcode的值,它的长度为1位,第二个循环时Copy(Pcode,3,3)得到的值就是''了。这样的结构是肯定不对的.
combobox1.Items.Add(pcode);
end;
end;
var
i:integer;
sq1,Pcode,pcode1:string;
begin
combobox1.Items.Clear;
Pcode1:='PC001';
for i:=0 to 5 do //Qty 為數字值
begin
Pcode:=pcode1;
Pcode:=IntToStr(StrToInt(Copy(Pcode,3,3))+i);//这句在第一个循环时已经改写了Pcode的值,它的长度为1位,第二个循环时Copy(Pcode,3,3)得到的值就是''了。这样的结构是肯定不对的.
combobox1.Items.Add(pcode);
sq1:='insert into biao1(u1)values('''+Pcode+''')';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sq1);
ADOQuery1.ExecSQL;
end;
end;我试过了,能添加到数据库
for i:=0 to Qty do //Qty 為數字值
begin
pCode := Copy(pCode,1,2) + IntToStr(StrToInt(Copy(Pcode,3,3))+i);
sq1:='insert into Equipment(Pcode)values('''+Pcode+''')';
ExeSql(sq1);
end
end;
----------------
只加 Copy(pCode,1,2) + 这个进去就行了
但是 IntToStr(StrToInt(Copy(Pcode,3,3))+i) 得到的不是 001,002,是 1,2,需要在左边填充'0'
你应该会吧