public DataTable FindTable(string sql, params DbParameter[] parameters)
{
using (OracleConnection conn = new OracleConnection(_connection))
{
conn.Open();
using (OracleCommand cmd = new OracleCommand(sql, conn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add(parameters);
using (OracleDataAdapter sda = new OracleDataAdapter(cmd))
{
var dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
}
}
把params DbParameter[] parameters改为
params OracleParameter[] parameters
要么你就自己实现循环把DbParameter里的值赋值给OracleParameter
因为cmd.Parameters.Add里要求传入的类型是OracleParameter
而且DbParameter和OracleParameter之间没有隐式转换的方法