如何使用 SqlParameter 在 SQL Server 中的图像类型列中存储字符串

Oop*_*ser 1 sql-server string image sqlparameter

我有一个 SQL Server 数据库,我想在图像类型列中存储一些字符串。

我正在尝试执行以下操作:

SqlParameter myparam = new SqlParameter("@myparam", "VeryLongString");
myparam.SqlDbType = SqlDbType.Image;
Run Code Online (Sandbox Code Playgroud)

当我将它添加到命令然后执行它时,我收到以下错误:

无法将参数值从字符串转换为字节[]

似乎是什么问题?

提前致谢

Jus*_*ner 5

SQL Server 中的 Image 字段存储字节数组(构成图像的字节),而不是字符串。

如果你真的想传入一个很长的字符串,你应该使用SqlDbType.Text.

  • 另外,SQL Server 2005 不推荐使用`IMAGE` 数据类型 - 如果需要大文本,请使用 VARCHAR(MAX) - 如果需要大二进制存储,请使用 VARBINARY(MAX)。 (3认同)