Avatar billede touel Nybegynder
28. august 2008 - 23:48 Der er 12 kommentarer og
1 løsning

Java og databaser komb med XML

Ville gerne vide hvordan kan man gribe følgende an.
Hvis jeg fra et java prog ønsker at gemme noget i en db, via xml kode, hvordan får man disse 3 ting til at spille sammen (bruger selv Eclipse)?

Jeg ønsker eks. at oprette en password fra java, som gemmes i db, men man skal have lov til at gentage password x antal gange.

Ber ikke om decideret kode, men ngt håndfast eks, som kan sætte mig i gang
Avatar billede arne_v Ekspert
28. august 2008 - 23:57 #1
Ah hva.

Hvad mener du med "gemme noget i en db, via xml kode" ?
Avatar billede touel Nybegynder
29. august 2008 - 20:04 #2
Hvis jeg opretter en password i java, så skal det gemmes i en db. jeg har hørt at man kan lave en slags "xml-interface" hvori alle ens felter, såsom brugernavn og password kan stå.

dertil skal det så være muligt at en bruger kan øve sig på at gentage sin kode x antal gange, og alle brugerens forsøg gemmes i en db, ligeledes
Avatar billede arne_v Ekspert
30. august 2008 - 04:27 #3
Hvad mener du med "oprette et password i Java" ?

Du kan godt lave et Java program som i en form indlæser nogle strenge, gemmer
dem i en enkelt streng med XML og gemmer den i en database.
Avatar billede touel Nybegynder
30. august 2008 - 22:30 #4
Hvilken type db skal man bruge, hvis man på en eller anden måde skal hente data fra Eclipse, vha XML ?

Skal man installere en speciel plugin i Eclipse for at kunne "overføre" (red XML) data mellem Eclipse og en db ?
Avatar billede arne_v Ekspert
31. august 2008 - 18:38 #5
Jeg har virkeligt svært ved at fortså hvad du mener.

Jeg antager at du med "hente data fra Eclipse" mener "hente data med et Java program skrevet
i Eclipse".

Alle databaser understøtter gem og hent af tekst strenge, så hvis din Java kode
håndterer al XML, så kan du bruge enhver database.

Nogle databaser (bl.a. Oracle, DB2, SQLServer) understøtter direkte XML i deres
SQL dialekt.
Avatar billede touel Nybegynder
31. august 2008 - 20:55 #6
jeg troede at jeg skulle bruge en decideret xml db for at kunne xml.

Havde fundet en på apache hjm side, som hedder Xindice.

Men jeg kan bare ikke se, at hvis jeg har et java prog, hvor jeg selv opretter passwords, hvordan kan jeg via xml overføre disse passwords til en db.

Kort sagt, hvordan gør man det ?
Avatar billede backupmand Nybegynder
02. september 2008 - 23:34 #7
Ha jeg kiggede lidt på denne tråd og jeg ved ikke om Arne han stod af eller hvad der skete.

Arne skriver at der er nogle databaser der understøtter XML. Man kan altså indsætte et helt XML dokument ind i en tabel celle.

Jeg kender ikke xindice, men hvorfor ikke prøve at downloade det for at se om du kan få det til at virke? På den måde kan du også se om det løser dit problem.
Avatar billede arne_v Ekspert
03. september 2008 - 01:58 #8
Specifikke XML databaser bruges næsten aldrig i praksis.

Det er ganske normalt at gemme XML som enkelt værdier (VARCHAR for små stumper
XML, CLOB for store stumper XML).

Alle databaser kan håndtere XML som simpel string.

Men nogle databaser kan mere end det.

SQLServer:

http://msdn.microsoft.com/en-us/library/ms345117.aspx

Oracle:

http://www.oracle.com/technology/pub/articles/jain-xmldb.html

IBM DB2:

http://www.redbooks.ibm.com/redbooks/pdfs/sg247315.pdf
Avatar billede touel Nybegynder
04. september 2008 - 01:19 #9
ok det har jeg så nogenlunde forstået nu.

drenge

har et lille skide irriterende prob. Kan ikke se på skærmen længere. Gør ondt i øjnene.

I nedenstående kode prøver jeg på at få mine 3 JLabel og JTextField vertikalt stående under hinanden... har leget med både border- og box-layout, uden resultat... Garanteret en lille ting...


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class PasswordTest extends JFrame
{
   
    private JFrame frame;
    private JPanel panel;
    private JLabel inputLabel1, inputLabel2,inputLabel3;
    private JTextField navn1,navn2,navn3;
    private JMenuBar menuBar;
    private JMenu menu, submenu;
    private JMenuItem menuItem;
    private  JTextArea output;
    private  JScrollPane scrollPane;

   
    public  PasswordTest()
    {
       
    }
   
       
       
       
   
    public JMenuBar createMenuBar()
    {
        JMenuBar menuBar;
        JMenu menu, submenu;
        JMenuItem menuItem;
       
        menuBar = new JMenuBar();
        menu = new JMenu("Password");
        menu.setMnemonic(KeyEvent.VK_P);
        menuBar.add(menu);
       
        submenu = new JMenu("Random Password");
        menuItem = new JMenuItem("Længde : 6");
        submenu.add(menuItem);

        menuItem = new JMenuItem("Længde : 7");
        submenu.add(menuItem);
        menu.add(submenu);
       
        menuItem = new JMenuItem("Længde : 8");
        submenu.add(menuItem);
        menu.add(submenu);
       
        menuItem = new JMenuItem("Længde : 9");
        submenu.add(menuItem);
        menu.add(submenu);
     
        return menuBar;
    }
   
    private static void VisGUI ()
    {
        JPanel p1;
        JLabel inputLabel1, inputLabel2,inputLabel3;
        JTextField navn1,navn2,navn3;
       
        JFrame frame = new JFrame("Password Tester");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     

        //Create and set up the content pane.
        PasswordTest demo = new PasswordTest();
        frame.setJMenuBar(demo.createMenuBar());
        p1 = new JPanel();
//        p1.setBorder(BorderFactory.createTitledBorder("Skriv info"));
        p1.add(new JLabel());
        navn1 = new JTextField (10);
        frame.setLayout(new GridLayout(1,2));
        frame.add(p1);
        p1.add(Box.createRigidArea(new Dimension(0,15)));
        inputLabel1 = new JLabel("Brugernavn :");
        p1.add(inputLabel1);
        frame.add(p1);
        p1.add(inputLabel1);
        p1.add(navn1);
        p1.add(Box.createRigidArea(new Dimension(0,15)));
        navn2 = new JTextField (10);
        inputLabel2 = new JLabel("Password :");
        p1.add(inputLabel2);
        p1.add(navn2);
        p1.add(Box.createRigidArea(new Dimension(0,15)));
        inputLabel3 = new JLabel("Gentag Password :");
        p1.add(inputLabel3);
        navn3 = new JTextField (10);
        p1.add(navn3);
//        frame.setContentPane(demo.createContentPane());

        //Vis vindue
        frame.setSize(450, 260);
        frame.setVisible(true);
    }

   
   
   
    public static void main(String []args)
    {
        javax.swing.SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                VisGUI();
            }
        });
       
       
//        Password pwd= new Password();
//        pwd.display();
    }

}
Avatar billede arne_v Ekspert
04. september 2008 - 02:03 #10
Jeg tror at en GridLayout må kunne gøre det.
Avatar billede touel Nybegynder
04. september 2008 - 13:38 #11
jeg er gået lidt kold over de her Layouts... har siddet nu med Grid også og det virker bare ikke...

Er det egentlig vigtigt at man opretter layout i konstruktør, eller kan man også gøre det i en metode ?

Nogen der kan vise mig ved at indsætte grid i min kode hvordan det skal gøres....
Avatar billede touel Nybegynder
04. september 2008 - 16:16 #12
Problem løst...

Arne du må gerne lægge svar, som tak for din hjælp
Avatar billede arne_v Ekspert
04. september 2008 - 16:42 #13
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester