sql >> Database teknologi >  >> RDS >> Sqlserver

TFDQuery.Prepare kan ikke bestemme parametertyper for INSERT-forespørgsel på MS SQL SERVER

Jeg ville følge hjælp her og undgå at ringe til Forbered før parametre er defineret (deres datatyper er fuldt specificeret). Du er ikke gået glip af andet end denne note fra hjælp:

For almindelige ODBC-drivere (du taler stadig med en ODBC-driver, uanset om de internt bruger OLE DB til at kommunikere med DBMS), bestemmer FireDAC ikke parameterdatatyper for den forberedte kommando. I stedet forbereder den kommandosætning på mål-DBMS og forsøger at binde eksisterende fra Parameter kollektion. Det er sådan Forbered metode er implementeret (Tokyo).

ODBC API leverer SQLDescribeParam funktion for at få parameterdetaljer for den forberedte kommando, men FireDAC bruger den ikke nogen steder (på nuværende tidspunkt). I stedet forlader den bygningsparameterindsamlingen manuelt. Hvilket ikke er forkert, for i sidste ende er det udvikleren, der skal vide, hvilken værdi der skal tildeles en bestemt kommandoparameter for at kende denne værditype.



  1. Databasesikkerhedsovervågning til MySQL og MariaDB

  2. Kompleks slags feltstreng - tal - streng

  3. MySQL-forespørgsel:Hvordan man korrekt identificerer og genoversætter kommaseparerede resultatværdier til de originale begreber ved hjælp af CONCAT_WS og COALESCE

  4. Postgres Notify arbejder ikke med logisk replikering