sql >> Databasteknik >  >> RDS >> Sqlserver

TFDQuery.Prepare kan inte fastställa parametertyper för INSERT-fråga på MS SQL SERVER

Jag skulle följa hjälpen här och undvika att ringa Förbereda innan parametrar definieras (deras datatyper är helt specificerade). Du har inte missat något annat än den här anteckningen från hjälp:

För vanliga ODBC-drivrutiner (du pratar fortfarande med en ODBC-drivrutin, oavsett om de internt använder OLE DB för att kommunicera med DBMS), bestämmer inte FireDAC parameterdatatyper för det förberedda kommandot. Istället förbereder den kommandosatsen på mål-DBMS och försöker binda befintliga från Params samling. Det är så Förbereda metod implementeras (Tokyo).

ODBC API tillhandahåller SQLDescribeParam funktion för att få parameterdetaljer för det förberedda kommandot, men FireDAC använder det inte någonstans (för närvarande). Istället lämnar den byggnadsparameterinsamlingen manuellt. Vilket inte är fel, för i slutändan är det utvecklaren som behöver veta vilket värde som ska tilldelas en viss kommandoparameter för att veta denna värdetyp.



  1. Hur kopierar man från CSV-fil till PostgreSQL-tabell med rubriker i CSV-fil?

  2. Hur styr vi dynamisk ordning efter ett fält i en tabell?

  3. Konvertera amerikanskt datumformat till ANSI SQL-datumformat (ÅÅÅÅ-mm-dd)

  4. UNIX_TIMESTAMP i SQL Server