Reputation: 585
string sql = @"SELECT sum(subtotal) FROM table1 WHERE clientid=:v1;" +
"SELECT * FROM table2 WHERE clientid = :v2 "
cmd = DBConnection.GetCommand();
cmd.CommandText = sql;
cmd.Parameters.Clear();
cmd.Parameters.Add(":v1", "Name1");
cmd.Parameters.Add(":v2", "Name2");
OracleDataReader reader = cmd.ExecuteReader(); //Error: Invalid Character
while (reader.Read())
{
..results from first query
}
reader.NextResult();
while (reader.Read())
{
..results from second query
}
.NET is not allowing reader.NextResults using binding variables? Why i am getting Invalid Character??
Upvotes: 0
Views: 161
Reputation: 223322
Remove the :
when adding parameters to the command.
cmd.Parameters.Add("v1", "Name1");
cmd.Parameters.Add("v2", "Name2");
OracleCommand.Parameters Property
When using named parameters in an SQL statement called by an OracleCommand of CommandType.Text, you must precede the parameter name with a colon (:). However, in a stored procedure, or when referring to a named parameter elsewhere in your code (for example, when adding OracleParameter objects to the Parameters property), do not precede the named parameter with a colon (:). The .NET Framework Data Provider for Oracle supplies the colon automatically.
Upvotes: 4