Salve a tutti,
uso delphi 7 ent. sp1 con microsoft sql server 2005 development.
mi stò perdendo nell'inserimento di date nel campo di tipo datetime.
secondo msdn il formato indipendente dalla localizzazione è yyyymmdd.
il codice per l'inserimento è il seguente:
GetLocaleFormatSettings(GetThreadLocale,Fd);
Fd.ShortDateFormat := 'yyyymmdd'; DataEffettoPolizza_DT:=dbgElencoPolizze.DataSource.DataSet.FieldByName('DataEffettoPolizza').asDateTime;
DataEffettoPolizza:=DateToStr(DataEffettoPolizza_DT,fd);
Risultato:=frmModuloDati.cds50web;
stringaSQL:='INSERT INTO tab_test ';
stringaSQL:=stringaSQL + '(dTest)';
stringaSQL:=stringaSQL + 'VALUES(:test)';
frmModuloDati.dat50web.CommandType:=ctQuery;
Risultato.Close;
Risultato.CommandText:=stringaSQL;
Risultato.Params.ParamByName('test').AsDateTime:=DataEffettoPolizza_DT;
Inc(IdentificatoreTransazione);
TransazioneSQL.TransactionID:=IdentificatoreTransazione;
TransazioneSQL.IsolationLevel:=LivelloIsolamento;
frmModuloDati.cnn50web.StartTransaction(TransazioneSQL);
try
Screen.Cursor:=PuntatoreMouseSQL;
Risultato.Execute;
frmModuloDati.cnn50web.Commit(TransazioneSQL);
except
frmModuloDati.cnn50web.Rollback(TransazioneSQL);
end;
Screen.Cursor:=PuntatoreMouseDefault;
inutile dire che viene sollevata l'eccezione Edatabaseerror sql server error 42000 codice 0..
Stò affocando in una goccia d'acqua...