为非函数对象提供的参数.如果参数用作表提示,则需要使用WITH关键字
本文关键字:参数 提示 关键字 WITH 对象 如果 函数 | 更新日期: 2023-09-27 18:11:49
我正在运行Windows 7和II7和SQL server 2008 R2。我有一个aspx程序,当我试图运行它时,我得到以下错误
为对象'users'提供的参数,该对象不是函数。如果参数是用作表提示的,而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;
}
任何想法?谢谢!
在不透露答案的情况下,您的问题在您的SELECT
声明中,sSql = ...
SQL语法不正确。
阅读这篇关于SELECT
声明的维基百科文章