Java 使用JDBC将图像从SQLServer获取到Android

Java 使用JDBC将图像从SQLServer获取到Android,java,android,sql,sql-server,jdbc,Java,Android,Sql,Sql Server,Jdbc,我正在尝试从sql server获取一个图像,并在我的android应用程序中使用它。创建表并将图像存储在数据库表中的代码为: create table Imagee (ID int not null,Img VARBINARY(max) not null) insert into Imagee (ID, Img) SELECT 1, BulkColumn FROM Openrowset( Bulk 'C:\Razvan\PozeDB\hawai.png', Single_Blob) as

我正在尝试从sql server获取一个图像,并在我的android应用程序中使用它。创建表并将图像存储在数据库表中的代码为:

create table Imagee (ID int not null,Img VARBINARY(max) not null)

insert into Imagee (ID, Img) 
SELECT 1, BulkColumn 
FROM Openrowset( Bulk 'C:\Razvan\PozeDB\hawai.png', Single_Blob) as iamge
我目前正在尝试使用的代码,但它不起作用,并且我没有收到任何错误:

String query = "select * from Imagee ";
Statement stmt = con.createStatement();
final ResultSet rs = stmt.executeQuery(query);

if (rs.next()) {

    final String imagine;
    imagine = rs.getString("Img");

    byte[] decodeString = Base64.decode(imagine, Base64.DEFAULT);
    final Bitmap decodebitmap = BitmapFactory.decodeByteArray(decodeString, 0, decodeString.length);

    getActivity().runOnUiThread(new Runnable() {
        @Override
        public void run() {
            try{
                //Here "img" is the ImageView
                img.setImageBitmap(decodebitmap);
            }catch(Exception e){
                Log.e("Eceptie",e.getMessage());
            }

        }
    });
}
此代码由try-catch语句和“doInBackground()”方法包围。与服务器的连接已正确建立。我可以得到身份证,但不能得到图像


请帮忙。谢谢大家!

为什么不
String query=“从Imagee中选择Img”为什么要尝试从Img字段中检索字符串?难道不应该有一个像getBytes之类的返回比特流的方法吗?此外,您真的不应该在数据库中存储二进制数据,最好只存储URI并将文件存储在文件系统的某个位置,然后通过http检索它为什么要尝试从Img字段中检索字符串?难道不应该有一个像getBytes之类的返回比特流的方法吗?此外,您真的不应该在数据库中存储二进制数据,最好只存储URI并将文件存储在文件系统的某个位置,然后通过http检索它。