Hallo Thomas,
also auch nach mehrmaliger Durchsicht finde ich in den Demos nichts, was mir die EINFACHEN Techniken im Umgang mit Interbase zeigt. Google liefert vieles zu PHP und (natürlich) jede Menge alte Seiten mit Beschreibungen zu Interbase. Da suche ich noch weiter. Das Buch von Andreas Kosch habe ich bestellt, die Lieferung wird aber wohl noch etwas dauern. In der Zwischenzeit habe ich mal mein Problem auf den Kern reduziert und in ein Minimalprogramm gepackt:
<PRE>
Die Datenbank:
==============
CREATE TABLE TEST (
TEST_ID INTEGER NOT NULL,
TEST_NAME VARCHAR(100),
TEST_TEXT BLOB SUB_TYPE 0 SEGMENT SIZE 80);
Das Formular:
=============
object Form1: TForm1
Left = 309
Top = 212
Width = 508
Height = 304
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBGrid1: TDBGrid
Left = 40
Top = 128
Width = 217
Height = 120
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
object DBRichEdit1: TDBRichEdit
Left = 288
Top = 128
Width = 193
Height = 121
DataField = 'TEST_TEXT'
DataSource = DataSource1
TabOrder = 1
end
object DBNavigator1: TDBNavigator
Left = 40
Top = 88
Width = 218
Height = 25
DataSource = DataSource1
VisibleButtons = [nbPrior, nbNext]
TabOrder = 2
end
object Button1: TButton
Left = 288
Top = 88
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 3
OnClick = Button1Click
end
object IBDatabase1: TIBDatabase
Connected = True
DatabaseName = 'D:\database\test.gdb'
Params.Strings = (
'user_name=sysdba'
'password=masterkey')
LoginPrompt = False
IdleTimer = 0
SQLDialect = 3
TraceFlags = []
Left = 32
Top = 24
end
object IBDataSet1: TIBDataSet
Database = IBDatabase1
Transaction = IBTransaction1
ForcedRefresh = True
BufferChunks = 1000
CachedUpdates = False
SelectSQL.Strings = (
'select * from TEST')
UpdateObject = IBUpdateSQL1
Active = True
Left = 80
Top = 24
object IBDataSet1TEST_ID: TIntegerField
FieldName = 'TEST_ID'
Origin = 'TEST.TEST_ID'
Required = True
end
object IBDataSet1TEST_NAME: TIBStringField
FieldName = 'TEST_NAME'
Origin = 'TEST.TEST_NAME'
Size = 100
end
object IBDataSet1TEST_TEXT: TBlobField
FieldName = 'TEST_TEXT'
Origin = 'TEST.TEST_TEXT'
Size = 8
end
end
object IBUpdateSQL1: TIBUpdateSQL
ModifySQL.Strings = (
'update test set test_text = :text where test_id = :id')
Left = 120
Top = 24
end
object IBTransaction1: TIBTransaction
Active = True
DefaultDatabase = IBDatabase1
AutoStopAction = saNone
Left = 160
Top = 24
end
object DataSource1: TDataSource
DataSet = IBDataSet1
Left = 200
Top = 24
end
end
Das Programm:
=============
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, ComCtrls, Grids, DBGrids, DB,
IBDatabase, IBCustomDataSet, IBUpdateSQL;
type
TForm1 = class(TForm)
IBDatabase1: TIBDatabase;
IBDataSet1: TIBDataSet;
IBUpdateSQL1: TIBUpdateSQL;
IBTransaction1: TIBTransaction;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBRichEdit1: TDBRichEdit;
DBNavigator1: TDBNavigator;
Button1: TButton;
IBDataSet1TEST_ID: TIntegerField;
IBDataSet1TEST_NAME: TIBStringField;
IBDataSet1TES
also auch nach mehrmaliger Durchsicht finde ich in den Demos nichts, was mir die EINFACHEN Techniken im Umgang mit Interbase zeigt. Google liefert vieles zu PHP und (natürlich) jede Menge alte Seiten mit Beschreibungen zu Interbase. Da suche ich noch weiter. Das Buch von Andreas Kosch habe ich bestellt, die Lieferung wird aber wohl noch etwas dauern. In der Zwischenzeit habe ich mal mein Problem auf den Kern reduziert und in ein Minimalprogramm gepackt:
<PRE>
Die Datenbank:
==============
CREATE TABLE TEST (
TEST_ID INTEGER NOT NULL,
TEST_NAME VARCHAR(100),
TEST_TEXT BLOB SUB_TYPE 0 SEGMENT SIZE 80);
Das Formular:
=============
object Form1: TForm1
Left = 309
Top = 212
Width = 508
Height = 304
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBGrid1: TDBGrid
Left = 40
Top = 128
Width = 217
Height = 120
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
object DBRichEdit1: TDBRichEdit
Left = 288
Top = 128
Width = 193
Height = 121
DataField = 'TEST_TEXT'
DataSource = DataSource1
TabOrder = 1
end
object DBNavigator1: TDBNavigator
Left = 40
Top = 88
Width = 218
Height = 25
DataSource = DataSource1
VisibleButtons = [nbPrior, nbNext]
TabOrder = 2
end
object Button1: TButton
Left = 288
Top = 88
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 3
OnClick = Button1Click
end
object IBDatabase1: TIBDatabase
Connected = True
DatabaseName = 'D:\database\test.gdb'
Params.Strings = (
'user_name=sysdba'
'password=masterkey')
LoginPrompt = False
IdleTimer = 0
SQLDialect = 3
TraceFlags = []
Left = 32
Top = 24
end
object IBDataSet1: TIBDataSet
Database = IBDatabase1
Transaction = IBTransaction1
ForcedRefresh = True
BufferChunks = 1000
CachedUpdates = False
SelectSQL.Strings = (
'select * from TEST')
UpdateObject = IBUpdateSQL1
Active = True
Left = 80
Top = 24
object IBDataSet1TEST_ID: TIntegerField
FieldName = 'TEST_ID'
Origin = 'TEST.TEST_ID'
Required = True
end
object IBDataSet1TEST_NAME: TIBStringField
FieldName = 'TEST_NAME'
Origin = 'TEST.TEST_NAME'
Size = 100
end
object IBDataSet1TEST_TEXT: TBlobField
FieldName = 'TEST_TEXT'
Origin = 'TEST.TEST_TEXT'
Size = 8
end
end
object IBUpdateSQL1: TIBUpdateSQL
ModifySQL.Strings = (
'update test set test_text = :text where test_id = :id')
Left = 120
Top = 24
end
object IBTransaction1: TIBTransaction
Active = True
DefaultDatabase = IBDatabase1
AutoStopAction = saNone
Left = 160
Top = 24
end
object DataSource1: TDataSource
DataSet = IBDataSet1
Left = 200
Top = 24
end
end
Das Programm:
=============
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, ComCtrls, Grids, DBGrids, DB,
IBDatabase, IBCustomDataSet, IBUpdateSQL;
type
TForm1 = class(TForm)
IBDatabase1: TIBDatabase;
IBDataSet1: TIBDataSet;
IBUpdateSQL1: TIBUpdateSQL;
IBTransaction1: TIBTransaction;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBRichEdit1: TDBRichEdit;
DBNavigator1: TDBNavigator;
Button1: TButton;
IBDataSet1TEST_ID: TIntegerField;
IBDataSet1TEST_NAME: TIBStringField;
IBDataSet1TES
Comment