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