Angus, Fantastic answer. Thanks for going the extra distance to explain it. It's appreciated.
Yep to the application :) Regards, Andy Angus Robertson - Magenta Systems Ltd wrote: >> exec sp_InsertVehicleData;1 '2009/01/17 >> 15:48:12',1,'0358104000636686','00000F611B8C',17,$53.5161,$-2.2367,0 >> ,$15475. >> 5996,$0.0000,$0.0000,0,0,'S',0,0,0,0,0,0,0,0,'',$-2.2367,$53.5161,$6 >> 5535.000 >> 0,0x010358104000636686FF447800344015FF2A00000F611B8C11EAC5738C791056 >> 42C0260F >> C00008B90400000000C0260FC07910564200FF7F47900105,60,1,'447800344015' > > So you're collecting moving vehicle GPS data from a UK mobile telephone > modem for a map, seen it all before <g> > >> So, you solution would be something like creating a string: > > Essentially yes, except ADO adds sp_ and ;1 so just use the stored > procedure name: > > exec InsertVehicleData xxx > > And you've got a wide range of data types in your parameter list there, > which you need to ensure match the data types in the stored procedure, > those hex strings look strange, but then I don't store binary stuff. > You're original error could be in those strings. You might be better > passing strange numbers as VARCHAR and converting them to numerics in the > stored procedure itself, assuming you can mess with it. > > Getting back on topic with ICS, this is how I build the parameter to save > my FTP server statistics in SQL: > > cmd := 'EXEC ftp_events_updx1 ' + > IntToStr (FtpServers [servnr].StartId) + paramSep + > QuotedStr (EventState) + paramSep + > QuotedStr (Comment) + paramSep + > '0' + paramSep + // endpos > IntToStr (FtpServers [servnr].TotalXmit) + paramSep + > IntToStr (FtpServers [servnr].TotalRecv) + paramSep + > IntToStr (secs) + paramSep + // duration secs > IntToStr (FtpServers [servnr].MaxSpeedXmit) + paramSep + > IntToStr (FtpServers [servnr].MaxSpeedRecv) ; > ExecSqlFtpCmd (cmd) ; > > and this is the core of the function to call SQL and get a resultset, > which just contains two fields with an error code and description in this > case, but could be a million records. > > DataSetFtpUpd.Recordset := ADOConn.Execute (cmd) ; > if DataSetFtpUpd.RecordCount = 1 then > begin > dbretcode := DataSetFtpUpd.Fields[0].DisplayText ; > result := AscToInt (DataSetFtpUpd.Fields[2].DisplayText) ; > end ; > > Angus > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be