I am using an ODBC connection to retrieve a data set in C#. I can see that the full command string is added to the connection when it is created.
OdbcDataAdapter dataAdapter = new OdbcDataAdapter(GetCommandString(), odbcConnection);
I am using the following line to add the parameter to the command string.
dataAdapter.SelectCommand.Parameters.Add("@Foo", OdbcType.Decimal).Value = foo2;
However, when using SQL Profiler I can see that only a portion of the command string actually makes it to SQL.
During testing we have seen that the full string will get passed in if we hard code a value into the string and remove the parameter line shown above.
Does using a parameter restrict the length of the string that I can pass though?
Edited - Adding info about SQL query: Here is an example of what the query looks like before the parameter is added.
DECLARE @foo decimal
SET @foo = ?
Select c1,c2,c3,c4 from table1 where id = @foo
Select b1,b2,b3,b4 from table1 where id = @foo
Select a1,a2,a3,a4 from table1 where id = @foo
Select t1,t2,t3,t4 from table1 where id = @foo