0

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

2 回答 2

1

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

IDataReader dr = cmd.CreateDataReader(oleCmd);

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

IDataReader dr = oleCmd.ExecuteReader();
于 2013-11-03T17:34:54.570 回答
-1

看看这一行:

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

类名String在两个地方都必须以大写字母开头。先试试这个:

String cmd = String.Format("сумма_определ_товара");
于 2013-11-03T17:07:26.053 回答