Я использовал следующий код для вставки данных в базу данных mongodb ..... проблема с этим я должен явно указать вводимые данные, но мне нужно сделать это динамически ... в смысле с использованием графического интерфейса, независимо от того, что было введено, текстовое поле должно быть помещено в базу данных.Вставить данные в базу данных (mongodb)
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 512, 355);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel lblNewLabel = new JLabel("Name");
lblNewLabel.setBounds(42, 33, 95, 30);
frame.getContentPane().add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("Manufacturer");
lblNewLabel_1.setBounds(42, 74, 80, 30);
frame.getContentPane().add(lblNewLabel_1);
textField = new JTextField();
textField.setBounds(147, 33, 122, 25);
frame.getContentPane().add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setBounds(147, 79, 122, 25);
frame.getContentPane().add(textField_1);
textField_1.setColumns(10);
JButton btnInsert = new JButton("Insert");
btnInsert.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
MongoClient mongoClient = null;
DBCursor cursor = null;
try {
mongoClient = new MongoClient("localhost" , 27017);
DB db = mongoClient.getDB("sample");
DBCollection coll = db.getCollection("sample");
BasicDBObject doc = new BasicDBObject("title", "MongoDB").
append("name","a").
append("manufacturer", "b").
append("colour", "c").
append("price", "d");
coll.insert(doc);
}catch(Exception e){
System.err.println(e.getClass().getName() + ": " + e.getMessage());}
}
});
btnInsert.setBounds(148, 223, 89, 23);
frame.getContentPane().add(btnInsert);
JLabel lblNewLabel_2 = new JLabel("Colour");
lblNewLabel_2.setBounds(42, 127, 65, 25);
frame.getContentPane().add(lblNewLabel_2);
textField_2 = new JTextField();
textField_2.setBounds(147, 129, 122, 25);
frame.getContentPane().add(textField_2);
textField_2.setColumns(10);
JLabel lblNewLabel_3 = new JLabel("Price");
lblNewLabel_3.setBounds(37, 175, 70, 25);
frame.getContentPane().add(lblNewLabel_3);
textField_3 = new JTextField();
textField_3.setBounds(147, 177, 122, 25);
frame.getContentPane().add(textField_3);
textField_3.setColumns(10);
}
}
В чем вопрос/чего вы пытаетесь достичь? – August
Почему бы не использовать JDBC? – trashgod
Я предполагаю, что этого легко достичь, просто получив текст из полей с помощью 'getText()' и не используя закаленные кодированные значения, нет? Я действительно не понимаю, в чем проблема? Это проблема с динамическим форматом документа или просто с данными? –