Käyttäjä lisää tiedon tietokantaan

Minun pitäisi luoda ohjelmisto, jonka avulla käyttäjä voi lisätä tietokantaan tietoja. Ongelmana on kuitenkin se, etten tiedä miten tämä käytännössä tapahtuu. Osaan kyllä sijoittaa valmiin SQL lausekkeen Java-koodin sekaan, ja tiedon lisääminen tietokantaan onnistuu, mutta en saa ohjelmistoa kysymään tietokantaan lisättäviä tietoja varsinaiselta käyttäjältä. Miten tämä onnistuu?
2230
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Toivon, että joku osaisi auttaa minua tässä. Alla on pätkä koodista, jota käytän.
Miten sitä tulisi muuttaa, että tiedon tietokantaan lisää ohjelmiston käyttäjä eikä koodaaja.


public static void addReports(){

try{

debug("Loading MySQL driver: " driverName);
Class.forName(driverName);

debug("Logging to MySQL" url);
Connection con = DriverManager.getConnection(url);

debug("Making SQL statement");


String sql = "INSERT INTO person"
"( id, name, birth, phone )"
"VALUES"
"( 5, 'Mikko', '1983-07-02', '123-987654')"
"";

debug("SQL: " sql);
debug("Creating Database tunnel");
Statement smtm = con.createStatement();

debug("Sending SQL query");
int count = smtm.executeUpdate(sql);

smtm.close();
con.close();

} catch (Exception error){
System.err.println( error.getMessage() );
error.printStackTrace();
System.exit(1);
}

System.out.println( "Normal Exit" );
}

Äänestä

Siihen pitää tehdä admin-käyttöliittymä. Jos tietojen lisäystä tehdään netin yli, tietokantaa ei voi aksessoida suoraan javan jdbc:llä, vaan normaali http tai paremminkin https-admin-sivun kautta ja serveripäässä käsittelijällä (suora kanta-aksessi on tietoturvariski ja normaalisti palomuurit blokkaa sen poiskin). Ja admin-sivulle pitäisi olla pääsy vain admin-tunnus salasanalla.

Esimerkki vastaavasta tilanteesta (html-formi ja serveripäässä java-jsp-käsittelijä, huomaa syöttötietojen tarkistus ja prepared statement turvallinen käyttö: se ei saa sisältää sisäkkäisiä ' tai " merkkejä):

http://zetcode.com/tutorials/jeetutorials/mysqldatabase/

Toivottavasti näet idean

Äänestä

Kommentoi aloitusta


neuvojakaipaan kirjoitti:

Minun pitäisi luoda ohjelmisto, jonka avulla käyttäjä voi lisätä tietokantaan tietoja. Ongelmana on kuitenkin se, etten tiedä miten tämä käytännössä tapahtuu. Osaan kyllä sijoittaa valmiin SQL lausekkeen Java-koodin sekaan, ja tiedon lisääminen tietokantaan onnistuu, mutta en saa ohjelmistoa kysymään tietokantaan lisättäviä tietoja varsinaiselta käyttäjältä. Miten tämä onnistuu?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu