Вместо добавления имени категории идентификатор категории должен быть добавлен в таблицу базы данных. Я создаю простой проект продаж. После загрузки должно отображаться имя категории JComboBox
, выберите элемент в поле со списком и добавьте в базу данных. Вместо добавления имени категории добавьте идентификатор категории в базу данных. Загрузка записей из таблицы, создающей объект класса CategoryItem
:
jComboBox1.addItem(CategoryItem(rs.getInt(1),rs.getString(2)));
Я не могу загрузить данные. Я приложил код шаг за шагом ниже.
Я создал класс CategoryItem
class CategoryItem
{
int id;
String name;
// add other fields if you want...
CategoryItem(int id, String name)
{
this.id = id;
this.name = name;
}
public String toString()
{
return name;
}
}
Загрузка записей из таблицы, создающей объект класса CategoryItem
:
jComboBox1.addItem(CategoryItem(rs.getInt(1),rs.getString(2)));
В этой строке я не могу загрузить данные.
public void LoadCategory()
{
try {
Class.forName("com.mysql.jdbc.Driver");
con1 = DriverManager.getConnection("jdbc:mysql://localhost/javapos","root","");
insert = con1.prepareStatement("SELECT * FROM category");
ResultSet rs = insert.executeQuery();
jComboBox1.removeAllItems();
while(rs.next())
{
jComboBox1.addItem(CategoryItem(rs.getInt(1),rs.getString(2)));
}
}
catch (Exception e) {
}
}
Это код для вставки записи в таблицу.
String name =txtproduct.getText();
String dec =txtdec.getText();
CategoryItem item = (CategoryItem)jComboBox1.getSelectedItem();
Class.forName("com.mysql.jdbc.Driver");
con1 = DriverManager.getConnection("jdbc:mysql://localhost/javapos","root","");
insert = con1.prepareStatement("insert into product (productname,description,category)values(?,?,?)");
insert.setString(1,name);
insert.setString(2,dec);
insert.setInt(3,item.id);
insert.executeUpdate();
JOptionPane.showMessageDialog(this, "Sucsessfully Saved");