for j:=1 to 3 do
begin
table1.append;
table1.fields[j-1].AsString:=GetSubStr(MyLine,Space);
table1.post;
end;
这一段代码有问题,你对一个字符串执行了三次的写入数据库操作,所以有三跳记录
begin
table1.append;
table1.fields[j-1].AsString:=GetSubStr(MyLine,Space);
table1.post;
end;
这一段代码有问题,你对一个字符串执行了三次的写入数据库操作,所以有三跳记录
解决方案 »
- delphi实现获取窗体中webbrowser的句柄,实现了网页文本框的选中(定位点击)
- 用过ksDev的BlockEngine的请进来
- 請教post,applyUpdates,commitUpdates,Commit的区别,最好有代码证明
- 判斷登錄的次數
- DatabaseDesktop中建表的中文输入问题
- dxdbgrid 控件中如何实现当值是零时不显示(或显示空)"
- 在树状结构中已经存在节点,但我单击时没有单击任何节点,怎样让以前单击的节点的焦点消失?
- 如何判断一个MDI程序中的一个子窗口已经存在?(null)
- 请教有关inherited
- 关于参数传递的问题,谁帮我解决,马上给200分!反正分很多!
- BDE中建立的Access库,怎么才能打开; Access的密码为空,用户名不知道;
- MSCE是免費的嗎?
for j:=1 to 3 do
begin
table1.fields[j-1].AsString:=GetSubStr(MyLine,Space);
end;
table1.post;并且MyLine这个传入的参数应该在Space中要改变,所以应该是个全局变量;另外在Space中要对MyLine赋一个改变后的值,我建议利用字符串数组完成
Form1: TForm1;
MyLine:string;Const Space=' ';implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
i,j:Integer;
begin
MyLine:='sjh man cn ';
begin
// table1.append;
for j:=1 to 3 do
begin
ShowMessage(GetSubStr(MyLine,Space)); //*测试用的*//
// table1.fields[j-1].AsString:=GetSubStr(MyLine,Space);
end;
// table1.post;
end;
end;Function Tform1.GetSubStr(varaString:String; SepChar:String):String;
var
Mystr:String;
StrLen:Integer;
SepCharPos:Integer;
varastring1:string;
begin
StrLen:=Length(varaString);
SepCharPos:=Pos(SepChar,varaString); //计算分割符在子串中的位置
MyStr:=Copy(varaString,1,SepCharPos-1);//将分割符前所有字符放到mystr串中
Delete(varaString,1,SepCharPos);//除去分割符和分割符前的子串
MyLine := varaString; //*我增加的*//
GetSubStr:=MyStr;//返回一个字段
end;
for j:=1 to 3 do
begin
table1.append;
table1.fields[j-1].AsString:=GetSubStr(MyLine,Space);
table1.post;
end;
////////上面一段有问题/////////////改为
table1.append;
for j:=1 to 3 do
begin
table1.fields[j-1].AsString:=GetSubStr(MyLine,Space);
end;
table1.post;