25. januar 2007 - 10:35Der er
8 kommentarer og 2 løsninger
ADO dateTime problem
Følgende giver mig en: "valgfri funktion ikke implementeret" ved execute. Det er jo som det er... Men er der en anden løsning end at bygge SQL udtrykket som '2007-1-1 10:33:33' ?
procedure TfrmMainDesigner.Button1Click(Sender: TObject); var rs: TADOQuery; sql: string; begin sql:='insert into test (dt) values (:dt)'; rs:=TADOQuery.Create(nil); rs.Connection:=connection; rs.SQL.Add(sql); rs.Parameters.ParamByName('dt').value := now; rs.ExecSQL; rs.Free; end;
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Ellers er det "den lange vej" og få lavet din dato og tid i det format som MSSQL kan forstå ! ( den er ikke særlig flexibel hvad datokonvertering angår ) prøv evt. at drope tiden og kun en dato.
Prøvede lige vha. komponenter på formen; altså connection og en query, der virker det fint med rs.parameters[0].value:=now; Det er fordi at jeg bare opretter en query sikkert, men kigger videre på det. øh..?
PS: det med strenge har jeg faktisk styr på (se spørgsmål) det har kørt fint i 2 år, men jeg synes det er fusk. Bruger {td 'yyyy-MM-dd hh:mm.ss.zzz' } og {d 'yyyy-mm-dd'} på MSSQL og bare strenge uden td/d på alt andet end Access som ved datoer i select xxx where xxx bruger #dd/mm/yyyy (efter windows shortdate format)
Ja det var komponent navnet...men en fodfejl fik mig til at tro det hjalp.
Jeg har faktisk fundet ud af at det er provideren der er afgørende. Når jeg bruger SQLOLEDB.1 virker det, men sådan som jeg opretter forbindelse (ODBC) så sættes den til MSDASQL.1
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.