2
我想用MySql和Mono填充存储过程的结果的数据集。如何使用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;
}
}
您是否使用MS.NET编码?你可以用MySqlParameter试试吗? – yojimbo87 2010-07-07 15:39:10