Add Images to Sql Server from Android Studio

0

I'm trying to upload an image from Android Studio to SQL Server but I do not know how to pass it

This is my code:

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.camera_fragment, container, false);
image = (ImageView) view.findViewById(R.id.imagemId);

 addlocation.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    addLocal();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        });
        return view;
    }

private void addLocal() throws SQLException {
        String namelocal=locationname.getText().toString();
        String coment=this.coment.getText().toString();
        ConnectionDB con=new ConnectionDB();
        Connection connection;
        PreparedStatement ps=null;
        ResultSet rs=null;

       connection= con.connectBD();

            ps=connection.prepareStatement("exec addLocal ?,?,?,?,?,?,?,?");
            ps.setString(1,user);
            ps.setString(2,image);//Este me da Error
            ps.setString(3,namelocal);
            ps.setString(4,selectedzone);
            ps.setString(5,selectedcategory);
            ps.setString(6,coment);
            ps.setDouble(7,latitude);
            ps.setDouble(8,longitude);


            ps.executeQuery();


       connection.close();



    }

@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {

            switch (requestCode) {
                case COD_SELECCIONA:
                    Bitmap originBitmap = null;
                    Uri miPath = data.getData();
                    image.setImageURI(miPath);
                    imageStream=getActivity().getContentResolver().openInputStream(miPath);


                    break;

                case COD_FOTO:
                    MediaScannerConnection.scanFile(getActivity(), new String[]{path}, null,
                            new MediaScannerConnection.OnScanCompletedListener() {
                                @Override
                                public void onScanCompleted(String path, Uri uri) {
                                    Log.i("Ruta de almacenamiento", "Path: " + path);
                                }
                            });

                    Bitmap bitmap = BitmapFactory.decodeFile(path);
                    image.setImageBitmap(bitmap);

                    break;
            }


        }
    }

The table in my Database:

create Table DataImage(
IMG_ID int IDENTITY(1,1) PRIMARY KEY not null,
U_Name varchar (10) not null,
picture image NULL,
localname nvarchar(20) not null,
zone nvarchar(20)not null,
category nvarchar(30)not null,
coment nvarchar(500)null,

)

Stored Procedure:

alter procedure addlocal
 @username nvarchar (10),
 @picture image,
 @name nvarchar(20),
 @zone nvarchar(20),
 @category nvarchar(30),
 @coment nvarchar(500),
 @latitude real,
 @longitude real
 as
 begin
  insert into DataImage values('@username','@picture',N'@name',N'@zone',N'@catgory',N'@coment','@latitude','@longitude')
  end
  go
    
asked by Julio Mizrahi 15.09.2018 в 02:39
source

0 answers