有2个List。分别是字段名和想对应的值。怎么用循环存入数据库啊
List : TStringList //存放的是输入的各字段的值
FieldList : 表里的各个字段比如:
List里:1.2.3
FieldList里id.name.pass怎样把这条记录存进去啊。
List : TStringList //存放的是输入的各字段的值
FieldList : 表里的各个字段比如:
List里:1.2.3
FieldList里id.name.pass怎样把这条记录存进去啊。
解决方案 »
- bsSkinMainMenu1的shortcut怎么不起作用?
- 请教:a做客户端向b请求连接,如何实现b监听到以后自动做客户端向a也做一个连接?
- 请教:文件扩展名为udb,是一种什么数据库?
- 请帮看看为什么ADO连不上SQLserver2000服务器
- 求助,dxDBTreeList使用的两个问题
- 100分求助!怎样改变工具栏按钮颜色和菜单栏颜色?不使用第三方控件。
- 毕业鸳鸯东南飞,长长久久不再归!:(
- 《delpi5开发人员指南》p998页(编写桌面数据库应用程序),第20行accept:=table1state.value=filterform.dbedit1.text;是何意义?编译总通不过!!!
- 我做完了一个project,把文件复制到其它机器上不能run
- 怎么计算SELECT出的记录数。
- 关于监控打印
- 怎样向局域网中的所有电脑传送文件(是单方的)
showmessage(str.Strings[0]);
List: TStringList; // 存放的是输入的各字段的值
FieldList: TStringList; // 表里的各个字段
ADOQ: TADOQuery;
i: Integer;
FieldStr, ValueStr: string;
begin
// .
// .
// 这里省略若干代码,假设 List 和 FieldList 已建好且包含数据。
// .
// .
// 这里省略若干代码,假设 ADOQ 已和数据库连接上。
for i:=0 to FieldList.Count-1 do // FieldList 同 List 的项数应一致
begin
FieldStr := FieldStr + FieldList.Strings[i] + ', ';
{ 假设都是字符串类型,若不是则可用case加以判断 }
ValueStr := ValueStr + '''' + List.Strings[i] + '''' + ', ';
end;
if RightStr(FieldStr, 2) = ', ' then
FieldStr := LeftStr(FieldStr, Length(FieldStr) - 2);
if RightStr(ValueStr, 2) = ', ' then
ValueStr := LeftStr(ValueStr, Length(ValueStr) - 2);
ADOQ.SQL.Text := 'INSERT INTO Table1 (' + FieldStr + ') VALUES (' + ValueStr + ')';
ADOQ.ExecSQL;
end;
i:integer;
begin
for i:=0 to FieldList1.Count-1 do
FieldList1.Fields[i].Value:=List1.Strings[i];
end;
if field_str='' then
field_str:=''''+list1[i]+'='+list2[i]+''''
else
field_str:=field_str+','+''''+list1[i]+'='+list[2]+'''';update table_name set field_str
I:integer
begin
adoquery.append;
for i:=0 to list1.count-1 do begin
adoquery1.valis[FieldList.strings[i]]:=List.strings[i]//
end;
adoquery.post
end;