Quantcast
Channel: DA-SOFT Technologies - Forum
Viewing all articles
Browse latest Browse all 1040

Subject: TADTable with Firebird uppercase queries - by: cjmarques

$
0
0
Good Afternoon, We're using the 30 free trial to see if these components will work for our company. I'm having issues accessing the data in Firebird using TADTable. It appears that it's upper casing all field names and not qouting them. Firebird is return SQL error code -206, Column unknown. Is there a setting I'm missing on TADTable to force qouted, case sensitive field names? note: TADTable looks like a good fit for us because we're currently using BDE to paradox and ranges. [code] procedure TForm1.mTestADTableClick(Sender: TObject); var vStr: TString; vCommand: TADTable; vConnection: TADConnection; vTransaction: TADTransaction; vDB: string; vInfo: TDatabaseInfo; begin vConnection := TADConnection.Create(nil); vTransaction := TADTransaction.Create(nil); vStr := TString.Create; vInfo := TDatabaseInfo.Create; try vInfo.xName := 'Large'; vInfo.xServer := 'DevBox'; vInfo.xPath := 'D:\Data\Firebird'; vInfo.xUserName := 'sysdba'; vInfo.xPassword := 'masterkey'; vTransaction.Connection := vConnection; vTransaction.Options.AutoCommit := false; vTransaction.Options.DisconnectAction := xdRollback; vConnection.Transaction := vTransaction; vConnection.LoginPrompt := false; vConnection.DriverName := ''; vDB := IncludeTrailingPathDelimiter(vInfo.xPath)+ vInfo.xName + '.FDB'; vConnection.Params.Clear; vConnection.Params.Add(Format('DriverID=%s', ['IB'])); vConnection.Params.Add(Format('Database=%s', [vDB])); vConnection.Params.Add(Format('Protocol=%s', ['TCPIP'])); vConnection.Params.Add(Format('Server=%s', [vInfo.xServer])); vConnection.Params.Add(Format('user_name=%s', [vInfo.xUserName])); vConnection.Params.Add(Format('password=%s', [vInfo.xPassword])); vConnection.Params.Add(Format('CharacterSet=%s', ['UTF8'])); vConnection.Params.Add(Format('ExtendedMetadata=%s', ['True'])); vCommand := TADTable.Create(nil); vCommand.Transaction := vTransaction; vCommand.Connection := vConnection; vCommand.TableName := 'Main'; vCommand.IndexFieldNames := 'RecordID'; vStr.xAsString := vCommand.GenerateSQL; vCommand.Open; vCommand.Close; finally FreeAndNil(vInfo); FreeAndNil(vStr); FreeAndNil(vCommand); FreeAndNil(vTransaction); FreeAndNil(vConnection); end; end; [/code] returns: --------------------------- Bdetofirebird --------------------------- [AnyDAC][Phys][IB]Dynamic SQL Error SQL error code = -206 Column unknown A.RECORDID At line 3, column 12. --------------------------- OK --------------------------- GeneratedSQL: SELECT A.*, A.RDB$DB_KEY AS AD__DB_KEY FROM MAIN A ORDER BY A.RECORDID ASC SQL that would have worked: SELECT A.*, A.RDB$DB_KEY AS AD__DB_KEY FROM MAIN A ORDER BY A."RecordID" ASC

Viewing all articles
Browse latest Browse all 1040

Latest Images

Trending Articles



Latest Images