更新查询的问题

时间:2011-05-19 16:26:35

标签: asp.net sql ado.net sql-update

我无法弄清楚为什么下面的更新查询没有执行,任何建议:

 static public void updateSelectedMainNewsImage(int newsID, string filename, string replace)
{
    SqlConnection conn = new SqlConnection(ConnectionString);
    conn.Open();
    SqlCommand updateNews = new SqlCommand("Update newsImages SET [newsImage] =@filename where [newsID] =@newsID AND [newsImage] =@replace", conn);
    updateNews.Parameters.AddWithValue("@newsID",SqlDbType.Int).Value = newsID;
    updateNews.Parameters.AddWithValue("@filename",SqlDbType.VarChar).Value =  filename;
    updateNews.Parameters.AddWithValue("@replace",SqlDbType.VarChar).Value = replace;

    updateNews.ExecuteNonQuery();
    conn.Close();
}

2 个答案:

答案 0 :(得分:2)

如果它没有错误那么它正在工作。所有记录都不符合您的WHERE条件。

答案 1 :(得分:1)

您正在使用updateNews.Parameters.AddWithValue("@filename",SqlDbType.VarChar).Value = filename;

尝试用

替换它

updateNews.Parameters.AddWithValue("@filename",filename,SqlDbType.VarChar);

这是因为parameter.addwithvalue函数不需要设置value属性它有一个像上面这样的重载版本。我希望如果这可以帮助