Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Jtable(2) :)

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Jtable(2) :)

Autor: MadmanCZ

11:37:52 12.05.2011

Já nevím jestli jsme si úplně rozuměli, ten kód co je v prvním příspěvku funguje tak jak potřebuji (není důvod ho nějak razantně měnit) jen potřebuji aplikovat ty získána data na již existující tabulku , ne vytvářet novou tabulku (Jtable). Jenomže je problém že k těm datům nemohu přistoupit zvenčí :)

Citovat příspěvek

 

Re: Jtable(2) :)

Autor: mKorbel

23:01:33 11.05.2011

try {
Vector> rows = new Vector>();
Vector row = new Vector();
stmt = nejakaConn.createStatement();
rst = stmt.executeQuery("Select ID, Meno, DatumObchodu, Objem, pocetDni, Ulozene From NejakaTable Where Objem = '" + (nejakObjem) + "' and Ulozene > CURDATE()-1 Order by Ulozene");
while (rst.next()) {
row = new Vector();//nezabudni to takto reinicializovat, inak haluze
if ((rst.getString(1)) == null) {
row.add(0);
} else {
row.add(rst.getInt(1));
}
if ((rst.getString(2)) == null) {
row.add("n/a");
} else {
row.add(rst.getString(2));
}
if ((rst.getString(3)) == null) {
row.add(0.0);
} else {
row.add(rst.getDouble(3));
}
.
.
.
rows.add(row);
}
} catch (Exception ex) {
// error
finally {
try {
rst.close();
stmt.close();
} catch (SQLException ex) {
// error
}
}
column = new Vector;//toto staci pre staticku JTable
column.add("Nieco");
column.add("NiecoIne");
.
.
.
myTable = new JTable(rows, column) // ci naopak
// pisem ti toto z hlavy tak to ber z rezervou a napr pre MySql (SQL92)

samozrejme pridat/odobrat jednu ci vsetky row sa da aj cez TableModel, ale o tom nie je tema dna

 

Re: Jtable(2) :)

Autor: MadmanCZ

21:49:30 11.05.2011

1. bod umím, 2. bod snad taky, 3. bod začíná váznout. 4. neumím. 5.to bych snad zvládnul :)
Ale jako celek se to hroutí jak domeček z karet :)


Kajak: Děsně trapný problém= problém za který se stydím , že ho nedokážu vyřešit :)

Citovat příspěvek

 

Re: Jtable(2) :)

Autor: kajak

20:13:13 11.05.2011

Sice to je OT, ale co znamená "děsně trapný problém" v programování?

Citovat příspěvek

 

Re: Jtable(2) :)

Autor: mKorbel

15:17:09 11.05.2011

podme na to postupne (neboj nie je to IQ test)

1/ vies spravit query z DB do ResulSet ???
2/ potom si schopny sa v nom hybat a dostat rst.getString(int Column), getDate(int Column), getDouble(int Column), getTimestamt(int Column) ???
3/ potom vies tym naplnit Vector row = new Vector();???
4/ potom vies pridat Vector row do Vector> tableData = new Vector>(); na konci kazdeho cyklu v Resulset???
5/ vies toto nakoniec iniclaizovat na JButton.ActionPerformed???

 

Re: Jtable(2) :)

Autor: madmanCZ

14:36:05 11.05.2011

Nikdo neví? :)

Citovat příspěvek

 

Re: Jtable(2) :)

Autor: MadmanCZ

19:46:38 09.05.2011

Změna modelu? Jako napsat tenhle kód do třídy která rozširuje AbstractTableModel ? Já sem fakt natvrdlej, já už pročetl spoustu kódů a nejsem z toho moudrej, bohužel v knížkách od Herouta kde je vše pěkně vysvětleno není Swing. Kdyby si mě ještě nějak nakopl byl bych rád :)

Citovat příspěvek

 

Re: Jtable(2) :)

Autor: mKorbel

8:19:16 09.05.2011

staci zmena modelu, takze spravis si JButton, po stlaceni pre JTable nacitas data == vymenis TableModel

Citovat příspěvek

 

Re: Jtable(2) :)

Autor: MadmanCZ

19:40:11 08.05.2011

Z toho wordpressu mám ten kód :) Ale nějak tam nemohu najít řešení mého problému :)

Citovat příspěvek

 

Re: Jtable(2) :)

Autor: mKorbel

19:19:34 08.05.2011

1/ odstranit extends javax.swing.JFrame

2/ http://tips4java.wordpress.com/2009/03/12/table-from-database/

Citovat příspěvek

 

Jtable(2) :)

Autor: MadmanCZ

18:32:59 08.05.2011

Ahoj, já se furt nějak potácím s JTablem. Už vím jak získat data z databáze, jenže mám takový děsně trapný problém :D
Používám takovýto výpis:
public class ExportCele extends javax.swing.JFrame
{
public ExportCele()
{ super("Výpis databáze zaměstnanců, měna je v Kč");
Vector columnNames = new Vector();
Vector data = new Vector();

try
{
// Connect to an Access Database
Class.forName("org.h2.Driver");
Connection connection = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/test", "sa", "");



// Cteni dat z databaze
String sql = "SELECT * FROM ZAM_DB";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery( sql );
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();

// Ziskat jmena sloupcu

for (int i = 1; i <= columns; i++)
{
columnNames.addElement( md.getColumnName(i) );
}

// Ziskat data radku

while (rs.next())
{
Vector row = new Vector(columns);

for (int i = 1; i <= columns; i++)
{
row.addElement( rs.getObject(i) );
}

data.addElement( row );
}

rs.close();
stmt.close();
connection.close();
}
catch(Exception e)
{
System.out.println( e );
}

// Vytvoreni tabulky se zadanymi daty
// Zde kámen úrazu, takhle to udělá novou tabulku
// ale potřebuji vložit do stávající :)

JTable table = new JTable(data, columnNames)

{
public Class getColumnClass(int column)
{
for (int row = 0; row < getRowCount(); row++)
{
Object o = getValueAt(row, column);

if (o != null)
{
return o.getClass();
}
}

return Object.class;
}
};

JScrollPane scrollPane = new JScrollPane( table );

getContentPane().add( scrollPane );

JPanel buttonPanel = new JPanel();
getContentPane().add( buttonPanel, BorderLayout.SOUTH );
}}

Takhle my to vytváří nové okno s tabulkou (Jtablem), já potřebuji aby mi to vložilo data do tabulky v daném okně. Nejsem schopný to nějak rozchodit :( Zkouším všechno možné i nemožné ale nějak to trucuje,vím že je to asi naprostá volovina ale fakt na to nějak nemůžu přijít. A ještě řeším jak co nejefektivněji provést ,,Refresh" po vložení nových dat do databáze, aby se provede vložení se provedl refresh.
Předem děkuji za jakékoliv rady a nápady :)

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: