Это моя таблица в postgresql:
Код: Выделить всё
CREATE TABLE mesa (
id_mesa serial PRIMARY KEY,
tag varchar(50),
modelo varchar(50),
menor_complemento smallint NOT NULL,
peso_min smallint NOT NULL,
peso_max smallint NOT NULL,
som bytea NOT NULL,
rotina bytea NOT NULL,
address64bits bytea NOT NULL UNIQUE
);
Код: Выделить всё
private Mesa mesa;
//construtor
public MesaDAO (Mesa mesa) {
this.mesa = mesa;
}
(...)
String stm = "INSERT INTO mesa(tag, modelo, menor_complemento, peso_min, "
+ "peso_max, som, rotina, address64bits) "
+ "VALUES(?,?,?,?,?,?,?,?)";
try {
pst = con.prepareStatement(stm);
pst.setString(1, mesa.getTag());
pst.setString(2, mesa.getModelo());
pst.setInt(3, mesa.getMenorComplemento());
pst.setInt(4, mesa.getPesoMin());
pst.setInt(5, mesa.getPesoMax());
pst.setByte(6, mesa.getSom());
pst.setByte(7, mesa.getRotina());
pst.setBytes(8, mesa.getAddress64Bits());
pst.executeUpdate();
(...)
Код: Выделить всё
public class Mesa{
private Integer idMesa;
private String tag;
private String modelo;
private Integer menorComplemento;
private Integer pesoMin;
private Integer pesoMax;
private byte som;
private byte rotina;
private byte[] address64Bits;
(...)
}
Поэтому я не знаю, как это исправить, если кто-то сможет мне помочь, я буду рад!
Заранее спасибо,
РЕДАКТИРОВАНИЕ:
Спасибо, ребята, за помощь, я предоставлю решение здесь: измените переменную «som» и «rotina» в тип «byte[]», а затем используйте pst.getBytes(...) вместо pst.getByte(...).
Пояснение:
Я использую XBee (режим API), поэтому мне нужно отправить значение байта через последовательный порт. Итак, я просто проверял, совпадает ли то, что я получаю из базы данных, с тем, которое я туда вставил. В заключение я хочу знать, как восстановить байты из базы данных, чтобы отправить их через последовательный порт.
Мобильная версия