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?
Käyttäjä lisää tiedon tietokantaan
2
159
Vastaukset
- neuvojakaipaan
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" );
} - kliittymäkäsittelijä
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
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1017463
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?835102- 804895
- 1324288
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan103078- 522709
- 432642
- 532267
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818112243Suudeltiin unessa viime yönä
Oltiin jossain rannalla jonkun avolava auton lavalla, jossa oli patja ja peitto. Uni päättyi, kun kömmit viereeni tähtit211860