我收到此错误→
运营商'&'未定义字符串“插入SP_Master_Entry(SP_”并键入'Byte()'。
我认为这个错误是在dr(SP_Photo)
附近引起的,对于VB.NET来说是非常新的
mainModule.DatabaseNonQuery("
Insert into SP_Master_Entry
(SP_ID, SP_Name, Gender, Date_Of_Birth, Date_Of_Join, Branch_ID,
SP_Area_ID, SP_Address1, SP_Address2, SP_Address3, PIN, Qualification,
Contact_Number, SP_Photo, SP_Status, Caste, SHG_Member, Marital_Status,
Salary, KYC_TYPE_ID, KYC_Code, Reference, Reference2, Agreement, Resigned,
ResignedDate,delivery_status,allow_edit)
VALUES (" & dr("SP_ID") & ",'" & dr("SP_Name") & "','" & dr("Gender") & "','"
& dr("Date_Of_Birth") & "','" & dr("Date_Of_Join") & "',"
& dr("Branch_ID") & "," & dr("SP_Area_ID") & ",'" & dr("SP_Address1")
& "','" & dr("SP_Address2") & "','" & dr("SP_Address3") & "',"
& dr("PIN") & "," & dr("Qualification") & ",'" & dr("Contact_Number")
& "'," & dr("SP_Photo") & ",'" & dr("SP_Status") & "','" & dr("Caste")
& "','" & dr("SHG_Member") & "','" & dr("Marital_Status") & "','"
& dr("Salary") & "'," & dr("KYC_TYPE_ID") & ",'" & dr("KYC_Code")
& "','" & dr("Reference") & "','" & dr("Reference2") & "','"
& dr("Agreement") & "','" & dr("Resigned") & "','" & dr("ResignedDate")
& "','" & dr("delivery_status") & "','" & dr("allow_edit") & "','"
& Today.Date.ToString & "','" & Today.Date.ToString & "')")
答案 0 :(得分:1)
错误说明了一切:Byte()
(即一个字节数组)是与String
根本不同的类型,你不能连接这两者。如何解决这个问题取决于这些字节包含的数据以及您希望从中获取的数据。 Encoding.GetString
method 可以帮助,如果这些字节包含编码的文本数据。
更一般地说,您发布的代码超出了苍白。你可以不写这样的代码,它完全不可读,因而一文不值。重构它。
答案 1 :(得分:0)
插入图像之前。
现在使用您构建的图像并在插入查询中使用它,如下所示
Dim img_b As Byte()= dr(“SP_Photo”)
Dim img_stream作为IO.MemoryStream
img_stream =新的IO.MemoryStream(img_b)
Dim img As Image = Image.FromStream(img_stream)
Dim cmd As New SqlCommand(“update user_table_name set user_Photo = @ image where user_ID =”& dr(“SP_ID”),connstr)
cmd.Parameters.Add(“@ image”,SqlDbType.Image,img_b.Length).Value = img_b
cmd.ExecuteNonQuery()