Subject | Re: [IBO] IBOGrid and varchar problem |
---|---|
Author | yuraukar |
Post date | 2005-01-21T12:03:32Z |
It doesn't seem to be related to the varchar, rather the size of the
column. Column VAL was varchar(10000), I changed to char(10000) - same
problem.
(As an alternative: does anyone know a way to convert a varchar(10000)
column into a char(200) column via sql? simply altering the data type
via ALTER TABLE doesn't do the job).
Here is the dfm of a sample app:
object Form1: TForm1
Left = 332
Top = 114
Width = 870
Height = 640
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object IB_Grid1: TIB_Grid
Left = 8
Top = 104
Width = 833
Height = 225
CustomGlyphsSupplied = []
DataSource = IB_DataSource1
TabOrder = 0
end
object IB_Connection1: TIB_Connection
SQLDialect = 3
Params.Strings = (
'PATH=......'
'USER NAME=SYSDBA'
'SQL DIALECT=3')
Left = 56
Top = 48
end
object IB_Query1: TIB_Query
DatabaseName =
'....' +
IB_Connection = IB_Connection1
SQL.Strings = (
'SELECT *'
'FROM RULEPACKAGEPARAMETER')
ColorScheme = False
DeleteSQL.Strings = (
'DELETE FROM RULEPACKAGEPARAMETER'
'WHERE'
' RULEPACKAGEPARAMETERID = :OLD_RULEPACKAGEPARAMETERID')
EditSQL.Strings = (
'UPDATE RULEPACKAGEPARAMETER SET'
' RULEPACKAGEPARAMETERID = :RULEPACKAGEPARAMETERID, /*PK*/'
' NAME = :NAME,'
' DESCRIPTION = :DESCRIPTION,'
' VAL = :VAL,'
' VALTYPE = :VALTYPE,'
' RULEPACKAGEID = :RULEPACKAGEID'
'WHERE'
' RULEPACKAGEPARAMETERID = :OLD_RULEPACKAGEPARAMETERID')
InsertSQL.Strings = (
'INSERT INTO RULEPACKAGEPARAMETER('
' RULEPACKAGEPARAMETERID, /*PK*/'
' NAME,'
' DESCRIPTION,'
' VAL,'
' VALTYPE,'
' RULEPACKAGEID)'
'VALUES ('
' :RULEPACKAGEPARAMETERID,'
' :NAME,'
' :DESCRIPTION,'
' :VAL,'
' :VALTYPE,'
' :RULEPACKAGEID)')
MasterSearchFlags = [msfOpenMasterOnOpen,
msfSearchAppliesToMasterOnly]
BufferSynchroFlags = []
FetchWholeRows = True
Left = 88
Top = 48
end
object IB_DataSource1: TIB_DataSource
Dataset = IB_Query1
Left = 120
Top = 48
end
end
column. Column VAL was varchar(10000), I changed to char(10000) - same
problem.
(As an alternative: does anyone know a way to convert a varchar(10000)
column into a char(200) column via sql? simply altering the data type
via ALTER TABLE doesn't do the job).
Here is the dfm of a sample app:
object Form1: TForm1
Left = 332
Top = 114
Width = 870
Height = 640
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object IB_Grid1: TIB_Grid
Left = 8
Top = 104
Width = 833
Height = 225
CustomGlyphsSupplied = []
DataSource = IB_DataSource1
TabOrder = 0
end
object IB_Connection1: TIB_Connection
SQLDialect = 3
Params.Strings = (
'PATH=......'
'USER NAME=SYSDBA'
'SQL DIALECT=3')
Left = 56
Top = 48
end
object IB_Query1: TIB_Query
DatabaseName =
'....' +
IB_Connection = IB_Connection1
SQL.Strings = (
'SELECT *'
'FROM RULEPACKAGEPARAMETER')
ColorScheme = False
DeleteSQL.Strings = (
'DELETE FROM RULEPACKAGEPARAMETER'
'WHERE'
' RULEPACKAGEPARAMETERID = :OLD_RULEPACKAGEPARAMETERID')
EditSQL.Strings = (
'UPDATE RULEPACKAGEPARAMETER SET'
' RULEPACKAGEPARAMETERID = :RULEPACKAGEPARAMETERID, /*PK*/'
' NAME = :NAME,'
' DESCRIPTION = :DESCRIPTION,'
' VAL = :VAL,'
' VALTYPE = :VALTYPE,'
' RULEPACKAGEID = :RULEPACKAGEID'
'WHERE'
' RULEPACKAGEPARAMETERID = :OLD_RULEPACKAGEPARAMETERID')
InsertSQL.Strings = (
'INSERT INTO RULEPACKAGEPARAMETER('
' RULEPACKAGEPARAMETERID, /*PK*/'
' NAME,'
' DESCRIPTION,'
' VAL,'
' VALTYPE,'
' RULEPACKAGEID)'
'VALUES ('
' :RULEPACKAGEPARAMETERID,'
' :NAME,'
' :DESCRIPTION,'
' :VAL,'
' :VALTYPE,'
' :RULEPACKAGEID)')
MasterSearchFlags = [msfOpenMasterOnOpen,
msfSearchAppliesToMasterOnly]
BufferSynchroFlags = []
FetchWholeRows = True
Left = 88
Top = 48
end
object IB_DataSource1: TIB_DataSource
Dataset = IB_Query1
Left = 120
Top = 48
end
end