fpc/tests/test/packages/fcl-db/tdb2.pp
2018-04-15 21:24:12 +00:00

51 lines
1.1 KiB
ObjectPascal

{ %skiptarget=msdos,go32v2 }
program TTestDBBasics_TestSetFieldValues;
{$mode objfpc}{$H+}
uses
Classes, SysUtils,
Assertions,
ToolsUnit,
dbftoolsunit,
variants,
db;
var PassException : boolean;
begin
DBConnectorName := 'dbf';
InitialiseDBConnector;
with DBConnector.GetNDataset(true,11) do
begin
open;
first;
edit;
FieldValues['id']:=5;
post;
AssertEquals('TestName1',FieldByName('name').AsString);
AssertEquals(5,FieldByName('id').AsInteger);
edit;
FieldValues['name']:='FieldValuesTestName';
post;
AssertEquals('FieldValuesTestName',FieldByName('name').AsString);
AssertEquals(5,FieldByName('id').AsInteger);
edit;
FieldValues['id;name']:= VarArrayOf([243,'ValuesTestName']);
post;
AssertEquals('ValuesTestName',FieldByName('name').AsString);
AssertEquals(243,FieldByName('id').AsInteger);
PassException:=false;
try
edit;
FieldValues['id;name;fake']:= VarArrayOf([243,'ValuesTestName',4]);
except
on E: EDatabaseError do PassException := True;
end;
post;
AssertTrue(PassException);
end;
FreeDBConnector;
end.