Formularzi Baza danych

0

public RamkaDodajRysuj(){
JLabel KodKon = new JLabel("Kod kontrachenta");
JLabel Kodprzew = new JLabel("Kod przewoźnika");
JLabel IloscDR = new JLabel("Ilosc DR");
JLabel IloscEX = new JLabel("Ilość EX");
JLabel KartWwysylce = new JLabel("Ilość kart w wysyłce");
JButton Save = new JButton("Zapisz");
JComboBox Kodkont= new JComboBox();
JComboBox KodPrzew = new JComboBox();
JTextField IloscDR2 = new JTextField();
JTextField IloscEX2 = new JTextField();
JTextField KWW = new JTextField();
JLabel datawys = new JLabel("Data wysylki");
JLabel datadost = new JLabel("Data dostawy");
JLabel Nrzam = new JLabel("Nr zamowienia");
JLabel Uwagi = new JLabel("uwagi");
JLabel NrDok = new JLabel("Nr dokumentu");
JRadioButton Zw = new JRadioButton("Zwrot",false);
JRadioButton Dst = new JRadioButton("Dostawa",false);
ButtonGroup grupa = new ButtonGroup();
JTextField datawys2 = new JTextField();
JTextField datadost2 = new JTextField();
JTextField Nrzam2 = new JTextField();
JTextField Uwagi2 = new JTextField();
JTextField NrDok2 = new JTextField();
grupa.add(Zw);
grupa.add(Dst);
setLayout(null);
add(KodKon);
KodKon.setBounds(10,10,120,20); //x,y,szer,wys
add(Kodprzew);
Kodkont.setBounds(140,10,320,20);
add(Kodkont);
Kodprzew.setBounds(10,50,120,20);
add(IloscDR);
KodPrzew.setBounds(140,50,320,20);
add(KodPrzew);
IloscDR.setBounds(10,90,70,20);
add(IloscEX);
IloscDR2.setBounds(140,90,50,20);
add(IloscDR2);
IloscEX.setBounds(10,130,70,20);
add(KartWwysylce);
IloscEX2.setBounds(140,130,50,20);
add(IloscEX2);
KartWwysylce.setBounds(10,170,250,20);
KWW.setBounds(140,170,50,20);
add(KWW);
add(Save);
Save.setBounds(400,400,100,20);
add(datawys);
datawys.setBounds(260,90,10,20);
add(datawys2);
datawys2.setBounds(400,90,90,20);
add(Zw);
Zw.setBounds(10,250,250,20);
add(Dst);
Dst.setBounds(10,210,250,20);
add(datadost);
datadost.setBounds(260,130,100,20);
add(datadost2);
datadost2.setBounds(400,130,200,20);
add(Nrzam);
Nrzam.setBounds(260,170,100,20);
add(Nrzam2);
Nrzam2.setBounds(350,170,100,20);
add(NrDok);
NrDok.setBounds(260,230,200,20);
add(NrDok2);
NrDok2.setBounds(400,230,200,20);
add(Uwagi);
Uwagi.setBounds(260,270,200,20);
add(Uwagi2);
Uwagi2.setBounds(400,270,200,20);

	//sluchacz czy wcisnieto save
	ActionListener SluchaczSave = new ActionListener(){
		public void actionPerformed(ActionEvent zdarzenie){
			Zapiszwynik();
		}
	};
	Save.addActionListener(SluchaczSave);
}

private void Zapiszwynik(){
	try {
	Class.forName("com.mysql.jdbc.Driver");
	String url ="jdbc:mysql://localhost:3306/db";
	Connection con =DriverManager.getConnection(url,"root", "krasnal");
	Statement stmt = con.createStatement();
	
	stmt.executeUpdate("INSERT INTO wysylka (Id, DataWysylki, DataDostawy, KodK, NrZam, "+ 
			" NrDok, IloscDR, IloscEX, IloscKartWWys , PotwDoku,  ZwrotDost,  Login, "+
			"  DataWpisu,  KodPrzew,  NrListuP ) " +
			"VALUES (`, '2000-10-10', '2000-01-01', ` , '2', '2', '2', '2', '3', " +
					" '4', '4', '5', '2000-10-01', '5', '3')");
}
catch( Exception e ) {
      e.printStackTrace();}
}

Kto mi podpowie jak mam przechwytywac wartości z JTextField do zapytania do Bazy danych(MySQL)
Lub jak macie gdzieś jakiś podobne tematy to poproszę o linka. Jestem nowy więc proszę o wyrozumiałość.

0

Metoda getText() zwraca tekst wpisany do JTextField'a. Tekst zapytania utworzysz przez dodawanie odpowiednich elementów.

0

A mógł bym poprosić o zademonstrowanie jak to się robi?
Użyłem String m = IloscDR.getText();
Przy okaziji zmieniłem dodawane komponnty na private JLabel IloscDR;
wiec udaje mi sie przechwycic to co zostało wpisane ale jak zmienic zapytanie do BD aby zostało wykonane poprawnie?
Jak macie kawałek kodu o podobnej tematyce będe bardzo wdzięczny za pomoc w nauce.

edit:
Poszperałem tu i uwdzie i zanlazłem i nawet działa dzieki za pomoc z get text i do napisania przy nastepnym problemie :)

0

stmt.execute("select jakies_id from jakas_tabela where nazwa = "+pole_tekstowe.getText()+" and 1 = 1");

jeden przykład


stmt.execute("update jakas_tabela set jakas_wartosc = '"+pole_tekstowe.getText()+"' where jakas_wartosc = "+inne_pole_tekstowe.getText());

a tu inny przykład

0

Zmieniłem dwa pola JTextField na JComboBox i z dodawaniem wartości z tych pol nie mam problemu(wartosci pobieram za bazy) problem pojawia się przy

grupa = new ButtonGroup();
		Zw = new JRadioButton("Zwrot",false);
		Dst = new JRadioButton("Dostawa",false);
		grupa.add(Zw);
		grupa.add(Dst);

Wydaje mi się że pod radio buttony należy przypisac jakis tekst wiec robie

		String Zwr = "zwrot";
		String Dosta = "dostawa";
		Zw.setText(Zwr);
		Dst.setText(Dosta);

Testowe zapytanie wyglada tak:

stmt.executeUpdate("INSERT INTO wysylka (Id, DataWysylki, DataDostawy, KodK, NrZam, "+ 
				" NrDok, IloscDR, IloscEX, IloscKartWWys , PotwDoku,  ZwrotDost,  Login, "+
				"  DataWpisu,  KodPrzew,  NrListuP ) " +
				"VALUES ('', '2000-10-10', '2000-01-01', '"+IloscDR2.getText()+"' , '"+Kodkont.getSelectedItem()+"', '2', '2', '2', '3', " +
						" '"+grupa.getSelection()+"', '3', '5', '2000-10-01', '5', '3')");

A pytanie to jak po zaznaczeniu Pola dostwa/zwrot (chodzi mi o radio buttony) zapisać wartość do BD czyli tekst dostawa lub tekst zwrot?

1 użytkowników online, w tym zalogowanych: 0, gości: 1