Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用Blob文本字符串将图像写入SQL Server#_C#_Sql_Tsql_Bytearray - Fatal编程技术网

C# 在C中使用Blob文本字符串将图像写入SQL Server#

C# 在C中使用Blob文本字符串将图像写入SQL Server#,c#,sql,tsql,bytearray,C#,Sql,Tsql,Bytearray,我有一个c#函数,需要写入SQL映像列。我有一个字节数组中的图像。标准似乎是在将字节数组作为System.Data.SqlDbType.Image类型的参数传递时使用SqlCommand 不幸的是,我的函数只能使用文本查询(不要问为什么),所以我必须找到一种只使用t-SQL命令的方法。到目前为止,我所拥有的可以写入到列中,但我不知道用什么格式的字符串来生成图像blob字符串 sql = "DECLARE @ptrval binary(16)" + "SELECT @ptrval = textpt

我有一个c#函数,需要写入SQL映像列。我有一个字节数组中的图像。标准似乎是在将字节数组作为System.Data.SqlDbType.Image类型的参数传递时使用SqlCommand

不幸的是,我的函数只能使用文本查询(不要问为什么),所以我必须找到一种只使用t-SQL命令的方法。到目前为止,我所拥有的可以写入到列中,但我不知道用什么格式的字符串来生成图像blob字符串

sql = "DECLARE @ptrval binary(16)" +
"SELECT @ptrval = textptr(Photo) FROM EMPhoto WHERE Employee='" + employeeID + "'" +
"WRITETEXT EMPhoto.Photo @ptrval " + imageByteArrayAsString;
我尝试将imageByteArray转换为十六进制字符串和二进制字符串,但在SQL或读取它的应用程序中,结果似乎不正确。

a是一个以0x为前缀的不带引号的十六进制字符串。ie 0xFFD8FFE0

string imageByteArrayAsString = "0x" + BitConverter.ToString(image).Replace("-", string.Empty);
A是以0x为前缀的不带引号的十六进制字符串。ie 0xFFD8FFE0

string imageByteArrayAsString = "0x" + BitConverter.ToString(image).Replace("-", string.Empty);

哈没有引号的0x。ie 0xFFD8FFE0。。。谢谢你,阿迪兰。哈!没有引号的0x。ie 0xFFD8FFE0。。。谢谢,阿迪兰,你好。这并不是什么不幸的事。数据库不是用来存储图像的。仅仅因为你能,并不意味着你应该。你能告诉我什么样的业务需求让你想避开本地存储吗?我同意。本地存储也是我的首选。我所做的功能只是第三方应用程序的中间件。我无法控制使用sql映像数据类型的应用程序。您好。这并不是什么不幸的事。数据库不是用来存储图像的。仅仅因为你能,并不意味着你应该。你能告诉我什么样的业务需求让你想避开本地存储吗?我同意。本地存储也是我的首选。我所做的功能只是第三方应用程序的中间件。我无法控制使用sql映像数据类型的应用程序。