':'附近的语法不正确。 SQL映像更新

时间:2011-08-02 11:33:48

标签: asp.net sql sql-server-2008

很抱歉再问这些类型的问题,但我还没有找到解决方案。 以下是错误来自

的方法
 public int UpdatePhotos(string regno, string photoid,string photo)
    {
        string query = "UPDATE " + this.TableName + " SET PHOTOGRAPH = :PhotoParameter WHERE REG_NO = " + regno + " AND PHOTO_NO = '" + photoid + "'";

        SqlParameter photoParameter = new SqlParameter();
        photoParameter.SqlDbType = SqlDbType.Image;
        photoParameter.ParameterName = "PhotoParameter";
        photoParameter.Value = Convert.FromBase64String(photo);
        SqlCommand cmnd = new SqlCommand(query, this.Connection);
        cmnd.Parameters.Add(photoParameter);
        int featureCount = cmnd.ExecuteNonQuery();
        return featureCount;

    }

我已经尝试将“:PhotoParameter”更改为直接来自文件流的byte []但我得到了同样的错误。 我找不到“:”来自导致此错误

2 个答案:

答案 0 :(得分:4)

:PhotoParameter需要是@PhotoParameter

答案 1 :(得分:0)

只需删除

中的冒号即可
SET PHOTOGRAPH = :PhotoParameter

并使用

SET PHOTOGRAPH = @PhotoParameter