Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
Databases
»
How to make a table
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
IRC channel
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Project fails on run but ...
by
jamie
[
Today
at 12:54:49 am]
Curling Pythagoras Tree: ...
by
Boleeman
[
Today
at 12:00:37 am]
Offical launch of the 1 B...
by
Gustavo 'Gus' Carreno
[March 28, 2024, 11:51:31 pm]
Ribbon bar in Lazarus 3.2...
by
wp
[March 28, 2024, 11:29:17 pm]
Free AI to use in local
by
BSaidus
[March 28, 2024, 10:57:23 pm]
how to search in rxmemory...
by
rcmz
[March 28, 2024, 10:19:54 pm]
Configure JCF messages
by
GordonFindlay
[March 28, 2024, 10:16:19 pm]
Poll: Watches and Display...
by
Martin_fr
[March 28, 2024, 10:15:08 pm]
Dialog ShowModal and an i...
by
d7_2_laz
[March 28, 2024, 09:51:39 pm]
JEDI error but unit compi...
by
Thaddy
[March 28, 2024, 09:30:33 pm]
Understanding and adjusti...
by
circular
[March 28, 2024, 09:09:56 pm]
Controlling the behavior ...
by
wp
[March 28, 2024, 08:29:28 pm]
how to change the color f...
by
wp
[March 28, 2024, 07:23:58 pm]
Dynarray initialization p...
by
Thaddy
[March 28, 2024, 06:30:12 pm]
Zeos components. Had to c...
by
Fantablup
[March 28, 2024, 04:17:13 pm]
[SOLVED] Completion box s...
by
furious programming
[March 28, 2024, 04:12:26 pm]
[LAMW] How to create a ca...
by
af0815
[March 28, 2024, 03:48:16 pm]
Complex package installat...
by
wp
[March 28, 2024, 03:38:16 pm]
A "leisure" question on W...
by
gidesa
[March 28, 2024, 03:17:10 pm]
[SOLVED] Combined pointer...
by
CM630
[March 28, 2024, 02:48:41 pm]
Using KeyPress event, how...
by
Zvoni
[March 28, 2024, 02:24:42 pm]
a Unit problem?
by
Thaddy
[March 28, 2024, 01:56:12 pm]
Any upgrades to fpWeb pag...
by
marcov
[March 28, 2024, 12:50:25 pm]
Help needed with Cairo / ...
by
Roland57
[March 28, 2024, 12:25:16 pm]
IDE instability on Raspbe...
by
rvk
[March 28, 2024, 10:37:14 am]
« previous
next »
Print
Pages: [
1
]
Author
Topic: How to make a table (Read 3030 times)
Thomas Colvin
New Member
Posts: 11
How to make a table
«
on:
September 17, 2017, 04:29:37 pm »
In Borland Delphi 3 have Database Wizard and can make tables.
How do I make a table in Lazarus?
Thanks, Thomas
Logged
Handoko
Hero Member
Posts: 5131
My goal: build my own game engine using Lazarus
Re: How to make a table
«
Reply #1 on:
September 17, 2017, 04:58:46 pm »
You can search the web for free database tools. For dbf database, you can try CDBF Explorer 0.60 or MyDbf Studio 0.4 Beta. Both are free, I use them.
http://www.softpedia.com/get/Internet/Servers/Database-Utils/CDBF-Explorer.shtml
http://mydbfstudio.altervista.org/
I prefer to generate the table files manually if my program can't find them when starting. Here is my code for generating dbf tables:
Code: Pascal
[Select]
[+]
[-]
procedure
DataFilePrepare
;
var
NewFieldDefs
:
TDbfFieldDefs
;
NewFieldDef
:
TDbfFieldDef
;
isRestructureNeeded
:
Boolean
;
Z
:
Integer
;
begin
with
frmMain
.
Database
,
NewFieldDef
do
begin
// Create table and first field if the table isn't existed
if
(
not
(
FileExists
(
FilePathFull
+
DirectorySeparator
+
TableName
)
)
)
then
begin
FieldDefs
.
Add
(
'GROUPID'
,
ftInteger
,
0
,
True
)
;
CreateTable
;
end
;
// Create all remain fields if they're not existed
Open
;
isRestructureNeeded
:
=
False
;
NewFieldDefs
:
=
TDbfFieldDefs
.
Create
(
frmMain
)
;
NewFieldDefs
.
Assign
(
DbfFieldDefs
)
;
Z
:
=
FieldIndex
(
'SORTID'
)
;
if
(
Z <
0
)
then
begin
NewFieldDef
:
=
NewFieldDefs
.
AddFieldDef
;
FieldName
:
=
'SORTID'
;
FieldType
:
=
ftInteger
;
Required
:
=
True
;
isRestructureNeeded
:
=
True
;
end
;
Z
:
=
FieldIndex
(
'DATE'
)
;
if
(
Z <
0
)
then
begin
NewFieldDef
:
=
NewFieldDefs
.
AddFieldDef
;
FieldName
:
=
'DATE'
;
FieldType
:
=
ftDate
;
Required
:
=
False
;
isRestructureNeeded
:
=
True
;
end
;
Z
:
=
FieldIndex
(
'TEXT'
)
;
if
(
Z <
0
)
then
begin
NewFieldDef
:
=
NewFieldDefs
.
AddFieldDef
;
FieldName
:
=
'TEXT'
;
FieldType
:
=
ftString
;
Size
:
=
60
;
Required
:
=
False
;
isRestructureNeeded
:
=
True
;
end
;
Z
:
=
FieldIndex
(
'MEMO'
)
;
if
(
Z <
0
)
then
begin
NewFieldDef
:
=
NewFieldDefs
.
AddFieldDef
;
FieldName
:
=
'MEMO'
;
FieldType
:
=
ftMemo
;
Required
:
=
False
;
isRestructureNeeded
:
=
True
;
end
;
Close
;
// Restructure the table if new field is added
if
(
isRestructureNeeded
)
then
begin
RestructureTable
(
NewFieldDefs
,
True
)
;
DeleteFile
(
(
FilePathFull
+
DirectorySeparator
+
DataFileName
+
'_bck.dbf'
)
)
;
end
;
NewFieldDefs
.
Free
;
end
;
end
;
«
Last Edit: September 17, 2017, 05:00:29 pm by Handoko
»
Logged
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
Databases
»
How to make a table
TinyPortal
© 2005-2018