如何解决“参数不正确”;错误

本文关键字:参数不正确 不正确 错误 参数 何解决 解决 | 更新日期: 2023-09-27 18:11:47

如何解决这个问题,当我运行我的代码,它给出错误的日期?

public static DataTable offers(string todaysdate)
    {
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT Validation.valid_image FROM Validation WHERE (Valid_date <= @today) AND (Valid_Expire >= @today) ", con);
        cmd.Parameters.AddWithValue("@today", todaysdate);
        sda = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        sda.Fill(dt);
        con.Close();
        return dt;
    }

如何解决“参数不正确”;错误

1。我看到你的参数应该是@today,因为你在sql命令中添加了@today作为参数名的参数。

2。但是你正在使用@todya,在内联sql中,为什么它会抛出参数不正确的错误。

3。我猜你拼错了,把@todya改成@today,把@todya改成@today来解决问题。

4。将内联sql传递中的@today周围的引号删除为@today而不是像这样的"@today",这应该可以解决问题。

SELECT Offer_details.Offer_image FROM Offer_details WHERE (Offer_date <=@today) AND (Offer_Expire >=@today)

5。如果您仍然看到问题,请执行以下步骤6、7

6。SELECT Offer_details.Offer_image FROM Offer_details WHERE (Offer_date <='10/06/2016') AND (Offer_Expire >= '10/06/2016')

7。从SSMS运行这个,看看是否能够检索数据,如果你能够在cmd上添加监视,看看内联sql是否被转换为合适的sql,如上面所示,如果有任何语法错误,请删除它们。

尝试从查询'@today' -> @today中删除quote(')希望这对您有所帮助。