Új hozzászólás Aktív témák
-
ZéZé@PH
aktív tag
% jel tetszőleges karaktersorozatot jelöl, ha azt akarod hogy résszóra is működjön a keresés akkor elengedhetetlen. Még egy tipp: LOWER sql függvény csupa kis betűs szóvá alakít. Ha csupa kis betűst hasonlítasz össze csupa kis betűssel, akkor azt is megoldottad, hogy ne legyen a keresésed case sensitive.
Én a mysql-en kívül nem tudok másik ingyenes sql-es adatbázist. Használnak még ugye Oracle-t meg a Microsoft sql-es adatbázisát, de ezek nem ingyenesek.
-
Sanyix
őstag
és az nem lenne egyszerűbb, hogy prepared statement, és:
PreparedStatement stm= conn.prepareStatement ("SELECT * FROM MUNKAK WHERE ? LIKE ?";
stm.setString(1,getMezo());
stm.setInt(2,getErtek()); //persze nemtudom itt milyen típusnak kell lenni, ezt te tudod
ResultSet rs =stm.commit(); -
shev7
veterán
het ha a lek.getMezo() idezojelek kozott adja vissza a stringet akkor idezojelek kozott van.
de tenyleg sok szivastol mentened meg magad ha prepared statementeket hasznalnal.
Ezt irtad:
"SELECT * FROM MUNKAK WHERE "+lek.getMezo()+" LIKE "+lek.getErtek()+""
ez kene helyette:
"SELECT * FROM MUNKAK WHERE \""+lek.getMezo()+"\" LIKE \""+lek.getErtek()+"\""
-
ZéZé@PH
aktív tag
Mert az adatbázis felé a programozónak kell gondoskodnia a típuskonverzióról, legalábbis általában.

Nem tudom milyen adatbázis szervert használsz, de Oracle-nél azonnal hibát dob ha számot vár de varchar-t kap.
Egyébként valóban paraméteres lekérdezéseket érdemes használni,már csak biztonsági okból is. -
Sanyix
őstag
Mert ezt így sztem nem lehet csinálni. Ismeretlenek helyére ?-t kell írni, majd st.setvalamitípus(abehelyettesítendőérték,hanyadikkérdőjel), de asszem el is lehet neveznia változókat kérdőjel meg sorszámozás helyett, és preparedstatementet kéne használni. Valahogy így van. De adatbázisozásra ajánlom a hibernate.org pakkot, elég jó dolog, csak picit szokatlan elsőre. Abban ennyi egy lekérdezés:
Session session = getSessionFactory().getCurrentSession();
try {
session.beginTransaction();
Query query = session.createQuery("from Email where id=:qid");
//logger.trace(query);
query.setInteger("qid", id);
result = query.list();
session.getTransaction().commit();
logger.info("Sikeres lekérdezés!");
} catch (HibernateException e) {
e.printStackTrace();
logger.error("Hiba lekérdezésnél!");
}És ennyi egy új rekord létehozása, és persze törődik a hibákkal is, így nemnagyon lehet belerondítani az adatbázisba.
try {
tx= sess.beginTransaction();
Adatok adt = new Adatok(veznev,kernev, sqldate);
sess.save(adt);
tx.commit();
} catch (HibernateException e) {
logger.error("Hiba az adatbázisműveletnél!");
tx.rollback();
return false;
}Ja és a megírt kód működik akármilyen adatbázison, amihez van driver (én 40 félét találtam, tehát van nemkevés
). -
auth.gabor
tag
Nem igazán értem a kérdést...

Ha JDBC és tudod melyik sor melyik oszlopa kell, akkor:
java.sql.PreparedStatement stat=connection.prepareStatement(''SELECT * FROM táblanév WHERE id=?'');
stat.setInt(1,12345);
java.sql.ResultSet result=stat.executeQuery();
if (result.next())
{
String mezoNeve=result.getString(''mező_neve'');
if (mezoNeve.equals(''...''))
{
// ...
}
}
result.close();
stat.close();
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- AKCIÓ!! HP Zbook Studio G8 i7-11850H 32GB 512GB Nvidia Quadro T1200 400NIT, 100% sRGB Garis!
- Samsung Galaxy S23 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 FE
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- GYÖNYÖRŰ iPhone 13 Mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4066, 94% AKKSI
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs



