Problem with ADO execute lazarus / 16-Databases ---------------------------------------------------------------------- Selective · 2013-11-16 21:06 Hi, I have a problem which drive me insane, please help me! This code gives me an error: Code: [Select]Movex := CreateOLEObject('ADODB.Connection'); RecordSet := CreateOleObject('ADODB.Recordset'); Movex.ConnectionString := 'Provider=HiTOLEDB400;Data Source=10.46.1.9;User ID=*******;Password=********;Libraries=MVXBDTA1;Connect Timeout=90;Host Code Page=278'; Movex.CursorLocation := 3; Movex.ConnectionTimeout := 30; Movex.CommandTimeout := 0; Movex.Open; Query := 'SELECT * FROM MVXBDTA1.OCUSMA'; RecordSet := Movex.Execute(Query); WriteLN('Records: ' + IntToStr(RecordSet.RecordCount)); Error: * exception at 0043ADC8: * HiTOLEDB400 rowset object - ODBS Prepare Error: [SQL0104] Token ? was not valid. * Valid tokens: ( CL END GET SET CALL DROP FREE HOLD LOCK OPEN WITH ALTER BEGIN. While this code works perfect: Code: [Select]Movex := CreateOLEObject('ADODB.Connection'); RecordSet := CreateOleObject('ADODB.Recordset'); Movex.ConnectionString := 'Provider=HiTOLEDB400;Data Source=10.46.1.9;User ID=******;Password=*******;Libraries=MVXBDTA1;Connect Timeout=90;Host Code Page=278'; Movex.CursorLocation := 3; Movex.ConnectionTimeout := 30; Movex.CommandTimeout := 0; Movex.Open; RecordSet := Movex.Execute('SELECT * FROM MVXBDTA1.OCUSMA'); WriteLN('Records: ' + IntToStr(RecordSet.RecordCount)); Can someone please explain to me what Im doing wrong ? Thank you. ---------------------------------------------------------------------- marcov · 2013-11-16 22:30 query is defined as widestring ? ADO only knows widestring. ---------------------------------------------------------------------- Selective · 2013-11-16 23:05 HA! SOLVED! Thank you for helping a blind man see! WideString did it.