Я пытаюсь заполнить набор данных результатом хранимой процедуры, используя MySql и Mono.
Хранимая процедура принимает некоторые значения, создает новую строку в таблице и затем выбирает несколько строк.
Когда я пытаюсь это сделать, я получаю пустой набор данных, и в моей базе данных нет новых записей.Я проверил основы:
- База данных работает, и я могу подключиться.
- Имя хранимой процедуры и имена параметров верны.
- Типы параметров:правильно.
- Хранимая процедура работает правильно из командной строки sql.
Если я не использую хранимую процедуру и задаю command.commandtext для некоторого sql, он возвращает набор данныхс данными.
Вот фрагмент кода, показывающий, что я пытаюсь сделать.
ConnectionStringSettings connectionStringSettings = ConfigurationManager.ConnectionStrings [this.provider];
DbProviderFactory factory = DbProviderFactories.GetFactory (connectionStringSettings.ProviderName);
using(DbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = connectionStringSettings.ConnectionString;
connection.Open();
using(DbCommand command = connection.CreateCommand()) {
command.CommandText = "createUser";
command.CommandType = CommandType.StoredProcedure;
dbParameter dbParameter = factory.CreateParameter();
dbParameter.ParameterName = "@name";
dbParameter.Value = "Fred.Smith";
command.Parameters.Add(dbParameter);
DataSet dataset = new DataSet();
DbDataAdapter adaptor = factory.CreateDataAdapter();
adaptor.SelectCommand = command;
adaptor.Fill(dataset);
//This is all ways empty
return dataset;
}
}