这是一个错误:
INSERT * INTO TblFile([FILEID], [FILEDATA]) VALUES('" + Guid.newGuid + "', ConVERT(VARBINARY, '" + Filebytes + "'));截断在此处发生,您应该像这样将其强制转换为varbinary(MAX):
INSERT * INTO TblFile([FILEID], [FILEDATA]) VALUES('" + Guid.newGuid + "', ConVERT(VARBINARY(MAX), '" + Filebytes + "'));此处描述了此行为:二进制和varbinary(Transact-SQL)
评论
在数据定义或变量声明语句 中未指定n时 ,默认长度为1。 在CAST函数中未指定n时,默认长度为30 。
与其通过Query字符串传递数据,不如使用SQL参数,因为否则将传递’“ + Filebytes +”’。
SqlParameter FileDataUploadParameter = Cmd.Parameters.Add("@FileData", SqlDbType.VarBinary);FileDataUploadParameter.Value = FileToUpload;

![无法将bytes []转换为VARBINARY 无法将bytes []转换为VARBINARY](http://www.mshxw.com/aiimages/31/670437.png)
