browseds.pas 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. program browseds;
  2. {$Mode ObjFpc}
  3. {$define DEBUGHEAP}
  4. uses
  5. {$ifdef DEBUGHEAP}
  6. Heaptrc,
  7. {$endif}
  8. {$ifdef Linux}
  9. cmem,
  10. {$endif}
  11. crt,sysutils,sqliteds,db;
  12. var
  13. dsTest:TSQliteDataset;
  14. I:Integer;
  15. procedure DumpFieldData (F : TField);
  16. begin
  17. With F Do
  18. begin
  19. Writeln ('Field : ',FieldName);
  20. Writeln ('Data type : ',FieldTypeNames[DataType]);
  21. Writeln ('As String : ',AsString);
  22. Case Datatype of
  23. ftSmallint, ftInteger, ftWord : Writeln ('As Longint : ',AsLongint);
  24. ftBoolean : Writeln ('As Boolean : ',AsBoolean);
  25. ftFloat : Writeln ('As Float : ',AsFloat);
  26. ftDate, ftTime, ftDateTime : Writeln ('As DateTime : ',AsDateTime);
  27. end;
  28. end;
  29. writeln('------------------');
  30. //Readkey;
  31. end;
  32. begin
  33. {$ifdef DEBUGHEAP}
  34. SetHeapTraceOutput('heaplog.txt');
  35. {$endif}
  36. dsTest:=TsqliteDataset.Create(nil);
  37. with dsTest do
  38. Begin
  39. FileName:='New.db';
  40. TableName:='NewTable';
  41. Sql:= 'SELECT _ROWID_,* FROM NewTable';
  42. Open;
  43. WriteLn('RecordCount: ',RecordCount);
  44. First;
  45. while not Eof do
  46. begin
  47. writeln(':::: Press a key to see data from record ',RecNo,' ::::');
  48. Readkey;
  49. For I:=0 to FieldCount-1 do
  50. DumpFieldData(Fields[I]);
  51. Next;
  52. end;
  53. Close;
  54. Destroy;
  55. end;
  56. Exit;
  57. end.