Peter Andrews wrote:
> I am unable to insert the following string:
>
> 40'S?
>
> into a varchar field through my ODBC driver. The statement:
>
> insert into test values('40\'S?');
>
A Question Mark is reserved as a parameter marker in odbc. The best way to
do something like this is to actually use a parameter. Then the driver will
allow question marks and other things. It will also translate things this
way, such as single quotes and so forth.
So, the moral of the story is, anytime you need to insert anything other
than very simple data, use a parameter.
The above example would become something like:
strcpy(buf, "40'S?")
pcbValue = strlen(buf)
SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 0, 0,
buf, sizeof(buf), &pcbValue)
SQLExecDirect(hstmt, "insert into test values (?)", SQL_NTS)
Byron