我想在c#中执行存储在MsAcces数据库中的查询。我在“CreateDataReader”中不断收到错误消息:
“string”不包含“CreateDataReader”的定义 没有找到扩展方法“CreateDataReader”接收器类型 “string”作为第一个参数。
这是代码,有人可以告诉我这里我做错了什么吗?
private void button1_Click(object sender, EventArgs e)
{
try
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\uchet_tovarov.mdb");
String cmd = string.Format("сумма_определ_товара");
OleDbCommand oleCmd = new OleDbCommand(cmd);
oleCmd.CommandText = "сумма_определ_товара";
oleCmd.CommandType = CommandType.StoredProcedure;
IDataReader dr = cmd.CreateDataReader(oleCmd);
while (dr.Read())
{
MessageBox.Show(dr.GetInt32(0).ToString());
}
}
catch { }
}
答案 0 :(得分:1)
正如错误消息所述,cmd
这里是一个字符串:
IDataReader dr = cmd.CreateDataReader(oleCmd);
看起来你正在寻找oleCmd
,你的命令对象:
IDataReader dr = oleCmd.ExecuteReader();
答案 1 :(得分:-1)
看看这一行:
String cmd = string.Format("сумма_определ_товара");
班级名称String
必须以两个地方的大写字母开头。首先尝试这个:
String cmd = String.Format("сумма_определ_товара");