(?,? ...?) or (@ field1, @ field2 ... @fieldn) in parsed queries?

Is this bad coding?

I have a request

INSERT INTO sometable (field1,field2...fieldn) VALUES (?,?,.....?)

      

Then

cmd.Parameters.Add("TOFnr", OdbcType.Int, 10).Value = orderId;
cmd.Parameters.Add("LineNr", OdbcType.Int, 10).Value = maxLineNr;
cmd.Parameters.Add("Date", OdbcType.VarChar, 8).Value = rowHeader["Date"];

      

The code works, except that there is an if condition around Add, causing the data after that line to end up in the wrong variable.

Placeholders ("TOFnr", etc.) are only used to refer programmers not used by sql or C # themselves, right?

Isn't it less error prone to use named parameters in a query?

INSERT INTO sometable (field1,field2...fieldn) VALUES (@TOFnr,@LineNr,.....@fieldn)

      

This is C # connecting borland paradox over odbc.

+3


source to share


1 answer


Isn't it less error prone to use named parameters in a query?

Yes it is. Unfortunately, the ADO.NET ODBC driver does not allow you to pass SQL named parameters in SQL statements, so unfortunately this is not possible for you using the ODBC driver.



I'm not a Paradox expert, but there might be a driver specifically for Paradox that allows named parameters. Perhaps you are more fortunate.

+1


source







All Articles