如题!!
解决方案 »
- delphi7 报错list index out of bounds(0)
- Query中添加计算字段?
- tidtcpserver控件的问题
- 求助!请大家帮忙指点着一下这个isNumeric?
- delphi中菜单前面的图标怎么加上去的!
- 听听这段对话,然后谈谈自己的体会http://202.96.80.51/csstrick/down/Ca4rcvop.mp3
- 100分答谢高手-----〉〉〉〉〉〉怎样实现更换皮肤?
- 制作 Web Server Application 怎样运行?
- 主窗口在调用DLL窗口后关闭时出现内存访问错误的错误信息,不知如何解决?(急)
- 如何截获未知错误?
- 字传处理的问题~
- 想问一下走过来的前辈 郁闷ing……
而且我觉得如果用query或Table的话没办法实现要用第三方控件TMemoryTable控件才可以!
copy ->paste有什么好的语句?
Access数据库有此字段
SQL Server也最好在数据库中实现
procedure TForm1.Button1Click(Sender: TObject);
var
str1, str2, str3, str4: string;
begin
str1 := adotable1.Fields[0].AsString;
str2 := adotable1.Fields[1].AsString;
str3 := adotable1.Fields[2].AsString;
str4 := adotable1.Fields[3].AsString;
adotable1.Insert;
adotable1.Fields[0].AsString := inttostr(strtoint(str1) + 1);
adotable1.Fields[1].AsString := str2;
adotable1.Fields[2].AsString := str3;
adotable1.Fields[3].AsString := str4;
adotable1.Post;
end;
我不太清楚你想怎么入库,不过我用ADO来做个示范。
定义一个全局变量
var
iFields : integer; //不清楚你的主键是什么类型,姑且认为是整型
然后在你的实现内部写:
var
ArryFields,ArryValues : Array of String;
strFields,strValues : String;
strSql : String;
i:integer;
begin
iFields := iFields +1;
with AdoQueryTable do
begin
close;
with Sql do
begin
clear;
strSQL := 'Select * From 表名 Where Statement=statement';
add('strSQL');
end;
Open;
strFields := '';
strValues := '';
SetLength(ArryFields,FieldCount);
SetLength(ArryValues,FieldCount);
for i:=0 to FieldCount-1 do
begin //完成数组赋值,得到你要的改纪录的字段名合格字段得值
ArryFields[i] := Fields.Fields[i].FieldName;
ArryValues[i] := FieldByName(ArryFields[i]).Asstring;
end;
for i:=1 to Length(ArryFields)-1 do
begin
strFields := strFields+ArryFields[i]+','; //形成字符串
strValues := StrValues+ArryValues[i]+',';
end;
strSQL := 'Insert into 表名 (主键名+Copy(strFields,1,Length
(strFields)-1) Values
(iFields+Copy(strValues),1,Length(strValues)-1)';
end;
ExecSql;
end;
该方法可以用,我曾多次用过,不过本断代码我是直接在这里写的,可能有错误标点符号等错误,请谅解。