2016-05-31 3 views
0

좋은 일에 대해 정의되지연산자 "&", 유형 "문자열"과 "이미지"

제가 DB에 이미지를 저장하려면,하지만 난 그것을 달성 할 수 없었다. operator '&' is not defined for types 'string' and 'image'으로 오류가 발생합니다.
도와주세요.

Function InsertTask(ByVal IdTask As Integer, ByVal NameImage As String, ByVal PImage As Image) 
    Dim MessageExit As String = "Great, the picture is Saved" 
    Try 
     cmd = New SqlCommand("INSERT INTO ALBUMES(IDTASKD, NAMEIMG, P_IMAGE) VALUES('" & IdTask & "','" & NameImage & "','" & PImage & "')", conex) 
    Catch ex As Exception 
     MessageExit = ":(Error:" + ex.ToString 
    End Try 
    Return MessageExit 
End Function 
+0

SQL에 설정 P_IMAGE 데이터 유형은 무엇입니까? 또한 정수이므로 IDTask 주위에 작은 따옴표가 필요하지 않습니다. – Mych

+0

SQL 데이터 유형이 P_IMAGE 이미지입니다 – SpartanDark

+0

참조 ... http://stackoverflow.com/questions/5613898/storing-images-in-sql-server 여기에 언급 된 의견 중 하나는 최신 버전에서 이미지가 단계적으로 제거된다는 것입니다 SQL – Mych

답변

2

I 조언 당신은 SqlDbType를 사용하도록 매개 변수를 사용하고,이 같은 SQL 인젝션을 피하기 위해 :

cmd = New SqlCommand("INSERT INTO ALBUMES(IDTASKD, NAMEIMG, P_IMAGE) " & 
         "VALUES(@IDTASKD,@NAMEIMG,@P_IMAGE)", conex) 

cmd.Parameters.Add("@IDTASKD", SqlDbType.Int).Value = IdTask 
cmd.Parameters.Add("@NAMEIMG", SqlDbType.NVarChar, 50).Value = NameImage 
cmd.Parameters.Add("@P_IMAGE", SqlDbType.Image).Value = PImage