mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 20:29:17 +02:00
- adapted for new mysql_fetch_field_direct
This commit is contained in:
parent
bfa2301575
commit
bf5ac5abfa
@ -227,7 +227,7 @@ function TMySQLDataset.GetFieldData(Field: TField; Buffer: Pointer): Boolean;
|
|||||||
|
|
||||||
var
|
var
|
||||||
I, FC: Integer;
|
I, FC: Integer;
|
||||||
fld: TMYSQL_FIELD;
|
fld: PMYSQL_FIELD;
|
||||||
CurBuf: PChar;
|
CurBuf: PChar;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@ -237,22 +237,22 @@ begin
|
|||||||
for I := 0 to FC-1 do
|
for I := 0 to FC-1 do
|
||||||
begin
|
begin
|
||||||
fld := mysql_fetch_field_direct(FMYSQLRES, I);
|
fld := mysql_fetch_field_direct(FMYSQLRES, I);
|
||||||
if Field.FieldName = fld.name then
|
if Field.FieldName = fld^.name then
|
||||||
begin
|
begin
|
||||||
Move(CurBuf^, PChar(Buffer)^, MySQLDataSize(fld.ftype, fld.length));
|
Move(CurBuf^, PChar(Buffer)^, MySQLDataSize(fld^.ftype, fld^.length));
|
||||||
if Field.DataType in [ftString{, ftWideString}] then
|
if Field.DataType in [ftString{, ftWideString}] then
|
||||||
begin
|
begin
|
||||||
Result := PChar(buffer)^ <> #0;
|
Result := PChar(buffer)^ <> #0;
|
||||||
if Result then
|
if Result then
|
||||||
// Terminate string (necessary for enum fields)
|
// Terminate string (necessary for enum fields)
|
||||||
PChar(buffer)[fld.length] := #0;
|
PChar(buffer)[fld^.length] := #0;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
Result := True;
|
Result := True;
|
||||||
break;
|
break;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
Inc(CurBuf, MySQLDataSize(fld.ftype, fld.length));
|
Inc(CurBuf, MySQLDataSize(fld^.ftype, fld^.length));
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -353,7 +353,7 @@ procedure TMySQLDataset.InternalInitFieldDefs;
|
|||||||
|
|
||||||
var
|
var
|
||||||
I, FC: Integer;
|
I, FC: Integer;
|
||||||
field: TMYSQL_FIELD;
|
field: PMYSQL_FIELD;
|
||||||
DFT: TFieldType;
|
DFT: TFieldType;
|
||||||
DFS: Integer;
|
DFS: Integer;
|
||||||
WasClosed: Boolean;
|
WasClosed: Boolean;
|
||||||
@ -374,8 +374,8 @@ begin
|
|||||||
for I := 0 to FC-1 do
|
for I := 0 to FC-1 do
|
||||||
begin
|
begin
|
||||||
field := mysql_fetch_field_direct(FMYSQLRES, I);
|
field := mysql_fetch_field_direct(FMYSQLRES, I);
|
||||||
if MySQLFieldToFieldType(field.ftype, field.length, DFT, DFS) then
|
if MySQLFieldToFieldType(field^.ftype, field^.length, DFT, DFS) then
|
||||||
TFieldDef.Create(FieldDefs, field.name, DFT, DFS, False, I+1);
|
TFieldDef.Create(FieldDefs, field^.name, DFT, DFS, False, I+1);
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
if WasClosed then
|
if WasClosed then
|
||||||
@ -516,14 +516,14 @@ end;
|
|||||||
procedure TMySQLDataset.CalculateSizes;
|
procedure TMySQLDataset.CalculateSizes;
|
||||||
var
|
var
|
||||||
I, FC: Integer;
|
I, FC: Integer;
|
||||||
field: TMYSQL_FIELD;
|
field: PMYSQL_FIELD;
|
||||||
begin
|
begin
|
||||||
FRecordSize := 0;
|
FRecordSize := 0;
|
||||||
FC := mysql_num_fields(FMYSQLRES);
|
FC := mysql_num_fields(FMYSQLRES);
|
||||||
for I := 0 to FC-1 do
|
for I := 0 to FC-1 do
|
||||||
begin
|
begin
|
||||||
field := mysql_fetch_field_direct(FMYSQLRES, I);
|
field := mysql_fetch_field_direct(FMYSQLRES, I);
|
||||||
FRecordSize := FRecordSize + MySQLDataSize(field.ftype, field.length);
|
FRecordSize := FRecordSize + MySQLDataSize(field^.ftype, field^.length);
|
||||||
end;
|
end;
|
||||||
FBufferSize := FRecordSize + SizeOf(TMySQLDatasetBookmark);
|
FBufferSize := FRecordSize + SizeOf(TMySQLDatasetBookmark);
|
||||||
end;
|
end;
|
||||||
@ -532,7 +532,7 @@ procedure TMySQLDataset.LoadBufferFromData(Buffer: PChar);
|
|||||||
|
|
||||||
var
|
var
|
||||||
I, FC, CT: Integer;
|
I, FC, CT: Integer;
|
||||||
field: TMYSQL_FIELD;
|
field: PMYSQL_FIELD;
|
||||||
row: TMYSQL_ROW;
|
row: TMYSQL_ROW;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@ -544,7 +544,7 @@ begin
|
|||||||
for I := 0 to FC-1 do
|
for I := 0 to FC-1 do
|
||||||
begin
|
begin
|
||||||
field := mysql_fetch_field_direct(FMYSQLRES, I);
|
field := mysql_fetch_field_direct(FMYSQLRES, I);
|
||||||
CT := MySQLWriteFieldData(field.ftype, field.length, row^, Buffer);
|
CT := MySQLWriteFieldData(field^.ftype, field^.length, row^, Buffer);
|
||||||
Inc(Buffer, CT);
|
Inc(Buffer, CT);
|
||||||
Inc(row);
|
Inc(row);
|
||||||
end;
|
end;
|
||||||
@ -918,7 +918,10 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.2 2005-02-14 17:13:12 peter
|
Revision 1.3 2005-03-27 14:55:47 joost
|
||||||
|
- adapted for new mysql_fetch_field_direct
|
||||||
|
|
||||||
|
Revision 1.2 2005/02/14 17:13:12 peter
|
||||||
* truncate log
|
* truncate log
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user