2011-08-02 47 views
1

對不起,提出另一種這樣的問題,但我還沒有找到解決方案。 這是改變我已經嘗試過其中的錯誤是從':'附近的語法不正確。 SQL圖像更新

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」是字節[]從文件流來直,但我得到了同樣的錯誤。 我找不到人了 「:」 是來自導致此錯誤

+0

什麼是異常消息/錯誤代碼? –

+0

它不會提供錯誤代碼,只是「錯誤的語法附近」:'。「消息 – Anto

回答

4

:PhotoParameter必須@PhotoParameter

0

只是刪除冒號在

SET PHOTOGRAPH = :PhotoParameter 

,並使用

SET PHOTOGRAPH = @PhotoParameter 
+0

就像21,這只是真相的一半。編輯:現在它是42. – Jacob

+0

@cularis:你的意思是這一行photoParameter.ParameterName =「PhotoParameter」;還應該更新? – sll

+0

我的評論是在你忍者編輯最後2行到你的文章之前。 – Jacob