on 2009 Dec 17 2:00 PM
I think I found a bug in ADO.NET driver for SA 11.
if I try to execute this code:
DbCommand command = connection.CreateCommand();
command.CommandText = "select 'my ' + 'string' from DUMMY";
string result = (string)command.ExecuteScalar();
Works fine. But if I change to use parameters, I get this error:
"iAnywhere.Data.SQLAnywhere.SAException: Cannot convert 'my string' to a int at iAnywhere.Data.SQLAnywhere.SACommand._ExecuteReader(CommandBehavior commandBehavior, Boolean isExecuteScalar, Boolean isBeginExecuteReader) at iAnywhere.Data.SQLAnywhere.SACommand.ExecuteScalar() "
In Interactive SQL, this command executes fine. If I change sql command to "select 'my ' || 'string' from DUMMY', ADO.NET executes fine too.
It's an bug or an expected behavor?
I'm using sa 11.0.1.2355
Request clarification before answering.
New question created for this. http://sqlanywhere-forum.sap.com/questions/267/bug-in-sa-11-net-driver-2
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I copied/pasted your code into a VS2008 project and the last line gives the error:
Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?)
So if I do either of:
string result = (string)command.ExecuteScalar();
-or-
string result = command.ExecuteScalar().ToString();
Then I get the correct result. Is this what you expected? I'm using SA 11.0.1.2324.
José
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
He said "I'm using SA 11.0.1.2324"... what is your version?
User | Count |
---|---|
52 | |
6 | |
5 | |
5 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.