|
@@ -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
|
|
|
|
- TFieldDef.Create(FieldDefs, field.name, DFT, DFS, False, I+1);
|
|
|
|
|
|
+ if MySQLFieldToFieldType(field^.ftype, field^.length, DFT, DFS) then
|
|
|
|
+ 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
|
|
|
|
|
|
}
|
|
}
|