TMyLoader Bug
Posted: Thu 16 Jun 2011 09:55
Hi,
ive been trying to load a number of records with the MyLodare component.
However it doesnt seem to load everything. To demonstrate, drop a MyLoader, MyConnection, Memo, MyQuery and a button on a form and run the following code:
procedure TForm1.Button1Click(Sender: TObject);
var Row,i : Integer;
begin
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('CREATE TABLE IF NOT EXISTS `DynamicData` (`DynamicDataID` int(11) NOT NULL auto_increment,');
MyQuery1.SQL.Add('`Incident_UID` int(11) default NULL,');
MyQuery1.SQL.Add('`Description1` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data1` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description2` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data2` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description3` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data3` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description4` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data4` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description5` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data5` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description6` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data6` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description7` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data7` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description8` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data8` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description9` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data9` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description10` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data10` varchar(255) default NULL,');
MyQuery1.SQL.Add('PRIMARY KEY (`DynamicDataID`))');
MyQuery1.SQL.Add(' ENGINE=InnoDB DEFAULT CHARSET=utf8;');
MyQuery1.Execute;
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('TRUNCATE TABLE DynamicData');
MyQuery1.Execute;
MyLoader1.TableName := 'DynamicData';
MyLoader1.CreateColumns;
Row := 0;
for i := 0 to 10000 do
begin
Inc(Row);
MyLoader1.PutColumnData(1,Row,row);
MyLoader1.PutColumnData(2,Row,'Some long text to test this component');
end;
MyLoader1.Load;
Memo1.Lines.Add('Inserted: '+InttoStr(Row));
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('SELECT COUNT(*) FROM DynamicData');
MyQuery1.Open;
Memo1.Lines.Add('In Database: '+MyQuery1.Fields[0].AsString);
end;
The number of records does not equal 10000.
Please help!
using component version 5.9.0.59 if that helps, (or is fixed in recent versions)
ive been trying to load a number of records with the MyLodare component.
However it doesnt seem to load everything. To demonstrate, drop a MyLoader, MyConnection, Memo, MyQuery and a button on a form and run the following code:
procedure TForm1.Button1Click(Sender: TObject);
var Row,i : Integer;
begin
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('CREATE TABLE IF NOT EXISTS `DynamicData` (`DynamicDataID` int(11) NOT NULL auto_increment,');
MyQuery1.SQL.Add('`Incident_UID` int(11) default NULL,');
MyQuery1.SQL.Add('`Description1` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data1` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description2` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data2` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description3` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data3` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description4` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data4` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description5` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data5` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description6` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data6` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description7` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data7` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description8` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data8` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description9` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data9` varchar(255) default NULL,');
MyQuery1.SQL.Add('`Description10` varchar(100) default NULL,');
MyQuery1.SQL.Add('`Data10` varchar(255) default NULL,');
MyQuery1.SQL.Add('PRIMARY KEY (`DynamicDataID`))');
MyQuery1.SQL.Add(' ENGINE=InnoDB DEFAULT CHARSET=utf8;');
MyQuery1.Execute;
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('TRUNCATE TABLE DynamicData');
MyQuery1.Execute;
MyLoader1.TableName := 'DynamicData';
MyLoader1.CreateColumns;
Row := 0;
for i := 0 to 10000 do
begin
Inc(Row);
MyLoader1.PutColumnData(1,Row,row);
MyLoader1.PutColumnData(2,Row,'Some long text to test this component');
end;
MyLoader1.Load;
Memo1.Lines.Add('Inserted: '+InttoStr(Row));
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('SELECT COUNT(*) FROM DynamicData');
MyQuery1.Open;
Memo1.Lines.Add('In Database: '+MyQuery1.Fields[0].AsString);
end;
The number of records does not equal 10000.
Please help!
using component version 5.9.0.59 if that helps, (or is fixed in recent versions)