【发布时间】:2011-03-11 14:01:28
【问题描述】:
我正在尝试使用 MySql 和 Mono 使用存储过程的结果填充数据集。
存储过程接受一些值,在表中创建一个新行,然后选择一些行。
当我尝试这个时,我得到一个空数据集,我的数据库没有任何新记录。 我已经检查了基础知识:
- 数据库正在运行,我可以连接。
- 存储过程名称和参数名称正确。
- 参数类型正确。
- 存储过程在 sql 命令行中正常工作。
如果我不使用存储过程并将 command.commandtext 设置为某个 sql,它会返回一个包含数据的数据集。
这是一个代码 sn-p,它显示了我正在尝试做的事情。
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;
}
}
【问题讨论】:
-
您的代码是否使用 MS.NET?可以用 MySqlParameter 试试吗?
标签: mysql stored-procedures mono dataset