在c#中运行Ms Access查询

时间:2013-11-03 16:59:27

标签: c# ms-access oledb

我想在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 { }
}

2 个答案:

答案 0 :(得分:1)

正如错误消息所述,cmd这里是一个字符串:

IDataReader dr = cmd.CreateDataReader(oleCmd);

看起来你正在寻找oleCmd,你的命令对象:

IDataReader dr = oleCmd.ExecuteReader();

答案 1 :(得分:-1)

看看这一行:

String cmd = string.Format("сумма_определ_товара");

班级名称String必须以两个地方的大写字母开头。首先尝试这个:

String cmd = String.Format("сумма_определ_товара");