INSERT INTO TestTable(Picture) VALUES(select * from openrowset(bulk 'E:/1.jpg', SINGLE_BLOB) as data)
但还不知道如何把内存中的二进制流(buffer)直接存入数据库,求详细代码,谢谢!
“CDatabase、CRecordset、SQL Server 2016”
12 个解决方案
#1
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
#2
答非所问
#3
好吧,看错了。
能用程序把内存中的二进制流取出来吗?
能用程序把内存中的二进制流取出来吗?
#4
好吧,看错了。
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
能用程序把内存中的二进制流取出来吗?
能啊。打个比方,现在就有一块内存:byte[10]。要存入TestTable表中,“Picture varbinary(MAX)”字段。怎么存?总不能每次都将这块内存保存为本地文件,然后再用我一楼的方法存入数据库啊。
#5
好吧,看错了。
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
能用程序把内存中的二进制流取出来吗?
能啊。打个比方,现在就有一块内存:byte[10]。要存入TestTable表中,“Picture varbinary(MAX)”字段。怎么存?总不能每次都将这块内存保存为本地文件,然后再用我一楼的方法存入数据库啊。
得到二进制流了直接就用 INSERT INTO TestTable(Picture) VALUES(二进制流字符串);存到数据库就行了,不用保存为本地文件
#6
好吧,看错了。
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
能用程序把内存中的二进制流取出来吗?
能啊。打个比方,现在就有一块内存:byte[10]。要存入TestTable表中,“Picture varbinary(MAX)”字段。怎么存?总不能每次都将这块内存保存为本地文件,然后再用我一楼的方法存入数据库啊。
得到二进制流了直接就用 INSERT INTO TestTable(Picture) VALUES(二进制流字符串);存到数据库就行了,不用保存为本地文件
二进制流字符串是什么意思?还是刚才说的byte buffer[10]内存,SQL语句该如何写?毕竟直接 INSERT INTO TestTable(Picture) VALUES(buffer)也不行啊。
#7
好吧,看错了。
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
能用程序把内存中的二进制流取出来吗?
能啊。打个比方,现在就有一块内存:byte[10]。要存入TestTable表中,“Picture varbinary(MAX)”字段。怎么存?总不能每次都将这块内存保存为本地文件,然后再用我一楼的方法存入数据库啊。
得到二进制流了直接就用 INSERT INTO TestTable(Picture) VALUES(二进制流字符串);存到数据库就行了,不用保存为本地文件
二进制流字符串是什么意思?还是刚才说的byte buffer[10]内存,SQL语句该如何写?毕竟直接 INSERT INTO TestTable(Picture) VALUES(buffer)也不行啊。
就是把bytes用程序取出来,转变成字符串存到数据库
#10
类似这个里说的
http://blog.csdn.net/daxingshen/article/details/50541056
有点麻烦,否则我直接用base64就得了。
和INSERT INTO TestTable(Picture) VALUES(select * from openrowset(bulk 'E:/1.jpg', SINGLE_BLOB) as data)这个差不多,这个也有转换的过程。因为内存里已经有二进制流了,只不过是取出来换成字符串后执行INSERT INTO TestTable(Picture) VALUES();
#11
顶一下,期待有其他的解决方案
#12
上班来顶一下,期待有其他的解决方案
#1
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
#2
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
#3
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
能用程序把内存中的二进制流取出来吗?
#4
好吧,看错了。
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
能用程序把内存中的二进制流取出来吗?
能啊。打个比方,现在就有一块内存:byte[10]。要存入TestTable表中,“Picture varbinary(MAX)”字段。怎么存?总不能每次都将这块内存保存为本地文件,然后再用我一楼的方法存入数据库啊。
#5
好吧,看错了。
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
能用程序把内存中的二进制流取出来吗?
能啊。打个比方,现在就有一块内存:byte[10]。要存入TestTable表中,“Picture varbinary(MAX)”字段。怎么存?总不能每次都将这块内存保存为本地文件,然后再用我一楼的方法存入数据库啊。
得到二进制流了直接就用 INSERT INTO TestTable(Picture) VALUES(二进制流字符串);存到数据库就行了,不用保存为本地文件
#6
好吧,看错了。
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
能用程序把内存中的二进制流取出来吗?
能啊。打个比方,现在就有一块内存:byte[10]。要存入TestTable表中,“Picture varbinary(MAX)”字段。怎么存?总不能每次都将这块内存保存为本地文件,然后再用我一楼的方法存入数据库啊。
得到二进制流了直接就用 INSERT INTO TestTable(Picture) VALUES(二进制流字符串);存到数据库就行了,不用保存为本地文件
二进制流字符串是什么意思?还是刚才说的byte buffer[10]内存,SQL语句该如何写?毕竟直接 INSERT INTO TestTable(Picture) VALUES(buffer)也不行啊。
#7
好吧,看错了。
用程序把图片变成二进制字节存到数据库中,取出来之后再用程序还原成图片
答非所问
能用程序把内存中的二进制流取出来吗?
能啊。打个比方,现在就有一块内存:byte[10]。要存入TestTable表中,“Picture varbinary(MAX)”字段。怎么存?总不能每次都将这块内存保存为本地文件,然后再用我一楼的方法存入数据库啊。
得到二进制流了直接就用 INSERT INTO TestTable(Picture) VALUES(二进制流字符串);存到数据库就行了,不用保存为本地文件
二进制流字符串是什么意思?还是刚才说的byte buffer[10]内存,SQL语句该如何写?毕竟直接 INSERT INTO TestTable(Picture) VALUES(buffer)也不行啊。
就是把bytes用程序取出来,转变成字符串存到数据库
#8
#9
类似这个里说的
http://blog.csdn.net/daxingshen/article/details/50541056
有点麻烦,否则我直接用base64就得了。
#10
类似这个里说的
http://blog.csdn.net/daxingshen/article/details/50541056
有点麻烦,否则我直接用base64就得了。
和INSERT INTO TestTable(Picture) VALUES(select * from openrowset(bulk 'E:/1.jpg', SINGLE_BLOB) as data)这个差不多,这个也有转换的过程。因为内存里已经有二进制流了,只不过是取出来换成字符串后执行INSERT INTO TestTable(Picture) VALUES();
#11
顶一下,期待有其他的解决方案
#12
上班来顶一下,期待有其他的解决方案