为什么我会将"字符串或二进制数据被截断"作为错误?

joo*_*hen 2 c# sql sql-server insert

我有一个问题:

字符串或二进制数据将被截断

这是我的编码:

String savePath = @"C:\Users\Shen\Desktop\LenzOCR\LenzOCR\WindowsFormsApplication1\ImageFile\" + fileName;

inputImageBox.Image = Image.FromFile(ImageLocation);
inputImageBox.Image.Save(savePath);

String sqlData = "INSERT INTO CharacterOCR(ImageName, ImagePath, Character, CharacterDescription)    
            VALUES('"+fileName+"', '"+savePath+"', '"+typeName+"', '"+CharDesc+"')";
SqlCommand cmd = new SqlCommand(sqlData, con);
cmd.ExecuteNonQuery(); // <<<<<error indicates here
Run Code Online (Sandbox Code Playgroud)

问题是什么?

Rol*_*oly 8

查看表格的模式并查看最大长度.你可能试图插入大于最大长度的东西.

  • 而你真的应该使用参数化的SQL命令.... SQL注入是一个婊子...只看HBGary (2认同)