Запись информации из БД

VahaC

Well-Known Member
10.01.2007
116
0
#1
Есть следующий код.

он полностью рабочий только с одним недостатком,
если к примеру поле в бд имеет не одну строку а несколько
то нужно обединить ети строки а место их соединения вставить '\r\n'
(єто нужно: 1.для полной совместимости с phpMyAdmin; 2. для нормальной записи в БД)


Помогите плиз а то я уже полностью запутался.
программа почти готова только вот на этом застрял.



Код:
function CheckString(s: String):String;
var
i: Integer;
begin
Result:='';
for i:=1 to Length(s) do
begin
if s[i]='''' then Result:=Result+'\'+s[i]
else Result:=Result+s[i];
end;
end;

Код:
	While not aquery.Eof do
begin
with aquery.Fields do
begin
str:='INSERT INTO `'+TblNames[i]+'` VALUES (';
For x:=0 to Count-1 do
begin
if TryStrToInt(Fields[x].AsString, int) then
begin
strch:=Fields[x].AsString;
check:='int';
For a:=1 to Length(strch) do
begin
if (Ord(strch[a])<Ord('0')) or (Ord(strch[a])>Ord('9')) then check:='str';
end;
if check='int' then str:=str+Fields[x].AsString;
if check='str' then str:=str+''''+CheckString(Fields[x].AsString))+'''';
//str:=str+Fields[x].AsString;
end
else
if TryStrToFloat(Fields[x].AsString, fl) then
begin
strfl:=Fields[x].AsString;
for y:=1 to Length(strfl) do
if strfl[y]=',' then strfl[y]:='.';
str:=str+strfl;
end
else
str:=str+''''+CheckString(Fields[x].AsString)+'''';
if x=Count-1 then str:=str+');'
else str:=str+', ';
end;
end;
fil.Add(str);
aquery.Next;
end;