0

我正在运行 Windows 7 和 II7 以及 SQL server 2008 R2 。我有一个 aspx 程序,当我尝试运行它时,出现以下错误

为不是函数的对象“用户”提供的参数。如果将参数用作表提示,则需要 WITH 关键字。

我编码的是这样的:

  public ArrayList GetGoodsList(string type, string goodsType, string user, string payType, bool flag)
    {
        conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["Conn"].ToString());

        DataSet ds = new DataSet();
        sSql = "select count(*) from users('" + type + "','" + goodsType + "','" + user + "','" + payType + "')";
        if (flag == true)
        {
            sSql += "where IsCommend = 1";
        }

        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandText = sSql;
        conn.Open();
        int maxRow = Int32.Parse(cmd.ExecuteScalar().ToString());

        sSql = "select * from users('" + type + "','" + goodsType + "','" + user + "','" + payType + "')";
        if (flag == true)
        {
            sSql += "where IsCommend = 1";
        }
        cmd.CommandText = sSql;
        SqlDataReader reader = cmd.ExecuteReader();

        ArrayList gInfos = new ArrayList();
        GoodsInfo gInfo;

        for (int i = 0; i < maxRow; i++)
        {
            if (reader.Read())
            {
                gInfo = new GoodsInfo();
                gInfo.G_ID = Int32.Parse(reader["G_ID"].ToString());
                gInfo.G_Name = reader["G_Name"].ToString();
                gInfo.Type = reader["Type"].ToString();
                gInfo.GoodsType = reader["GoodsType"].ToString();
                gInfos.Add(gInfo);
            }
        }
        conn.Close();
        return gInfos;
    }

任何想法?谢谢!

4

1 回答 1

1

在不泄露答案的情况下,你的问题在你的SELECT陈述中,sSql = ...

这不是正确的 SQL 语法。

阅读有关该声明的这篇维基百科文章。SELECT

于 2013-05-03T00:36:56.110 回答