With AdoQuery1 Do Begin If Active Then Close ; SqlStr := ' Insert Into table( ' ; SqlStr1 := ' Values( ' ; For I := 0 To FieldCount - 1 Do Begin SqlStr := SqlStr + Fields[ I ].FieldName + ',' ; Case Fields[ I ].DataType Of ftWideString : SqlStr1 := SqlStr1 + '''' + FieldByName( Fields[ I ].FieldName ).AsString + ''',' ; ftSmallint : SqlStr1 := SqlStr1 + FieldByName( Fields[ I ].FieldName ).AsString + ',' ; ftInteger : SqlStr1 := SqlStr1 + FieldByName( Fields[ I ].FieldName ).AsString + ',' ; ftBoolean : If FieldValues[ Fields[ I ].FieldName ] Then SqlStr1 := SqlStr1 + 'True,' Else SqlStr1 := SqlStr1 + 'False,' End ; End ;sqlstr:= sqlstr+sqlstr1;这样就自动生成SQL语句了,呵呵。