Разные изображения, вставленные с Android в базу данных, показывают одинаковое значение?

#java #android #sql-server

Вопрос:

Я пытаюсь вставить изображение в SQL Server вот мой код, и он отлично работает (он вставляет изображение в базу данных). Моя проблема начинается после вставки и когда я вижу столбец изображения в базе данных.

 protected String doInBackground(String... strings) {
    try {
        con = connectionClass(ConnectionClass.un, ConnectionClass.pass, ConnectionClass.db, ConnectionClass.ip);
        if (con == null) {
            z = "No Internet Connection";
        } else {

            String sql = "INSERT INTO [dbo].[tblComplaint] (customerName,type,image) VALUES ('"   name.getText()   "','"   complain.getText()   "','"  encodedImage "')";
            //PreparedStatement stmt = con.prepareStatement(sql);
            //stmt.executeUpdate();
            Statement stmt = con.createStatement();
            stmt.executeUpdate(sql);
        }
    } catch (Exception e) {
        isSuccess = false;
        z = e.getMessage();
    }

    return z;
}

@SuppressLint("NewApi")
public Connection connectionClass(String user, String password, String database, String server) {
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    Connection connection = null;
    String connectionURL = null;
    try {
        Class.forName("net.sourceforge.jtds.jdbc.Driver");
        connectionURL = "jdbc:jtds:sqlserver://"   server   "/"   database   ";user="   user   ";password="   password   ";";
        connection = DriverManager.getConnection(connectionURL);
    } catch (Exception e) {
        Log.e("SQL Connection Error : ", e.getMessage());
    }

    return connection;
}
 

Проблема: Независимо от того, какое изображение я отправил в базу данных, оно вставляет только один и тот же набор строк, начиная с: 0x2F396A2F34414151536B5A4A5267414241514141415141424141442F3467496F53554E44583142 и продолжается в течение 100 строк, что, как я предполагаю, неправильно. Я пробовал отправлять 4-5 разных изображений, но это не меняется. Что я делаю не так? Тип данных для столбца изображения image такой , я тоже пробовал varbinary(max) и так далее.

Комментарии:

1. Вы должны показать нам код, который записывается в базу данных, если хотите, чтобы вам помогли его исправить. Кроме того, вы больше не должны использовать image тип данных, только используйте varbinary(max) .

2. Я опубликовал код ниже , но это половина , он не позволит мне вставить весь код , я справился с этим из БД, да, я также пробовал VARBINARY, но результат не меняется.

3. Извините , да, пожалуйста, смотрите ниже

4. надеюсь, это поможет

5. Я думаю, что вы решили бы все свои проблемы, если бы начали использовать параметры вместо создания объединенной строки для записи в базу данных. И если вы настаивали на использовании существующего кода, вы не указываете значение varbinary, потому что это не строка.