Re: TClientDataSet - ADO Microsoft Access

From: Viatcheslav V. Vassiliev (support_at_oledbdirect.com)
Date: 02/19/04


Date: Thu, 19 Feb 2004 21:07:43 +0300

Access accepts ? for parameter but Memo is reserved word. Try enclose all
names in brackets:

insert into [tblStations] ([SiteID], [StationName], [Memo]) (?, ?, ?)

or use quote char - ` (it is not single quote):

insert into `tblStations` (`SiteID`, `StationName`, `Memo`) (?, ?, ?)

//------------------------------------------
Regards,
Vassiliev V. V.
http://www.managed-vcl.com - using .Net objects in Delphi for Win32 +
ADO.Net
http://www.oledbdirect.com - The fastest way to access MS SQL Server,
MS Jet (Access) and Interbase (through OLEDB)

"Gregory A. Dunn" <gregd@eagleresearchcorp.com> сообщил/сообщила в новостях
следующее: news:4034d869$1@newsgroups.borland.com...
> Hello,
>
> I am using the following object structure to view/edit data in a Microsoft
> Access Table: ADOConnection - TADOQuery - TDataSetProvider -
> TClientDataSet - TDataSource - TDBGrid. I can edit data fine in the
TDBGrid
> but when I try to run the TADOQuery.ApplyUpdates method, I get the
following
> error Syntax error in INSERT INTO Statement'. The problem appears to be
> that the INSERT statement built is:
> insert into tblStations
> (SiteID,StationName,Memo)
> (?,?,?)
>
> The ? for the query parameters do not work in Access. Access expects [.]
> for parameters. Do you know any way to resolve this problems?
>
> Thanks,
> Greg Dunn
> gregd@eagleresearchcorp.com
> 304-757-6565 ext 117
>
>
>