Results 1 to 5 of 5

Thread: Tsqldataset params DataType "ftUnknown"

  1. #1
    Mindert Dusselaar
    Join Date
    Oct 2004
    Location
    Zuid westen van Drenthe
    Posts
    91

    Tsqldataset params DataType "ftUnknown"

    Tsqldataset en andere sql's worden de params DataType = "ftUnknown" gezet, zodra ik iets in de command.text wijzig.
    Run en open de tabel en Delphi geeft een error.

    Als ik vanuit de code de parameter vul, dan geef ik al aan wat de datatype is. b.v. sqlA.params.paramByname('Id').asinteger := ....
    Hoe kan ik ervoor zorgen, dat Delphi het datatype niet vult met ftUnknown maar een vooraf ingestelde defaultwaarde?
    Of dat Delphi de fout onderdrukt?

    Alvast bedankt

  2. #2
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Ik ken TSQLDataset niet, maar vind het raar dat tijdens de invoer de datatype wordt overschreven. Waar komt command.text vandaan?
    Delphi is great. Lazarus is more powerfull

  3. #3
    Mindert Dusselaar
    Join Date
    Oct 2004
    Location
    Zuid westen van Drenthe
    Posts
    91
    in de command.text staat de query, welke uitgevoerd moet worden.
    b.v. select artnr from artikelstam where artikelID = :ID
    ID wordt automatisch in de params gezet en zou dan het type ftInteger mee moeten krijgen, omdat het een integer veld is.
    Er wordt echter een ftUnknown in gezet.
    Ook als ik later iets wijzig in de command.text (query) dan wordt in de params ook weer een ftUnknown gezet.
    Ik gebruik deze command.text query om de persistend fields in de IDE op te vragen.

  4. #4
    Senior Member
    Join Date
    Aug 2004
    Location
    Rotterdam
    Posts
    151
    Code:
    'PARAMETERS :ID int; ' +
    'SELECT artnr FROM artikelstam ' +
    'WHERE (artikelID = :ID);'
    Dit werkt bij mij op een ADODataSet naar een Access tabel
    Last edited by Knollie; 26-Jan-22 at 16:19.

  5. #5
    Silly member NGLN's Avatar
    Join Date
    Aug 2004
    Location
    Werkendam
    Posts
    5,133
    Probeer eens om SQLDataSet.ParamCheck uit te schakelen. Uit de Help over Data.SqlExpr.TCustomSQLDataSet.ParamCheck:
    ...whenever the CommandText property changes, the Params property is regenerated to reflect the new set of parameters.
    There are times when you want to override this default behavior. ...
    In order to override the default generation of the Params property in response to changes in CommandText, set ParamCheck to false.
    (Sender as TNLDUser).Signature := 'Groeten van Albert';

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •