Forum İçeriği > Çekirdek Java > NetBeans oracle Jtable yardım
|
|
msaitozen 25 ay önce
Aktivite Puanı: 6
Kodu koştuğunuz makina ile veri tabanının olduğu makina arasında bağlantıları
kontrol edin. Öncelikle veri tabanına ping atmayı deneyin. Eğer
ulaşılabiliniyorsa o makinenin listener 1521 portuna telnet ile bağlanmayı
deneyin. Burada amaç firewall ile mi engellenip engellenmediğinizi anlamak.
Ayrıca sql cümleciğine parametre bağlarken sql injectionları engellemek için
prepared statement kullanın.
http://java.sun.com/docs/books/tutorial/jdbc/basics/prepared.html Kolay gelsin
|
|
|
ksbairt203 25 ay önce
Aktivite Puanı: 16
teşekkür ediyorum cevabınız için ancak anlayamadım ben kendi çapımda kendi pc
mde bir uygulama yapıyorum yani tavsiyelerinizi nasıl uygulayacağımı
anlayamadım bu arada kodlarım doğru değil mi
|
|
|
msaitozen 25 ay önce
Aktivite Puanı: 6
Ping atmak ne demek için buraya telnet için buraya Örnek " telnet sunucuIPsi portNumarasi" Bunlar komut
satırından yapılmakta |
|
|
Emrah Kahraman E - Hero 25 ay önce
Aktivite Puanı: 28
Class.forName () yapısı ile oracle driverını tanıtmayı denesen belki sorun
çözülebilir.
|
|
|
ksbairt203 25 ay önce
Aktivite Puanı: 16
teşekkürler emrah bey söylediğiniz yapıyı nasıl kullanabilirim acaba
|
|
|
ksbairt203 25 ay önce
Aktivite Puanı: 16
araştırdım ve yapının nasıl kullanacağını buldum ve denedim ancak hata hala
aynı textfield i doldurup butonumu tıkladığımda çıkan hata başka çözüm yolu
yokmu java.sql.SQLException: G/Ç istisnası: The Network Adapter could not
establish the connection try{ Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=null; DriverManager.registerDriver(new
oracle.jdbc.OracleDriver());
conn=DriverManager.getConnection("jdbc:Oracle:thin:@aaa:1521:","SYSTEM","SYS");
Statement statement=conn.createStatement();
|
|
|
Emrah Kahraman E - Hero 25 ay önce
Aktivite Puanı: 28
Ben kendi sitemde java ile mysql bağlantısını yaptım sadece driver yukleme
bolumu harıc ordakı yapıları kullanabılırsın vıdeodan ızleyebılırsın . http://www.emrahkahraman.com.tr/search/label/Java%20Video
|
|
|
ksbairt203 25 ay önce
Aktivite Puanı: 16
Emrah bey teşekkür ediyorum.çok güzel bi paylaşım olmuş elinize sağlık.ben
kodlarımda bi yanlışlık olduğunu düşünmüyordum.yukarıda kodlarım yazılı rica
etsem inceler misiniz hata koddan mı kaynaklanıyor.
|
|
|
ertugrula 25 ay önce
Aktivite Puanı: 156
Merhaba Yukaridaki kodlarda yanlislik var, oracle driveri iki defa yuklemeye
calismissiniz, Netbeans`da oracle ile baglanti kurmak istiyorsaniz oncelikle
kod kullanmadan baglanti kurmayi deneyin, yani netbeansde Services
kismina gelip burda Databases -> Drivers sag tiklayip new driver -> add
driver diyoruz ve oracle driver`i netbeansin lib eklemis oluyoruz, oracle
ojdbc14.jar atsaniz yeterli olur, eger .jar dosyaniz yoksa oracle`in kendi
icindeki .jar kullanabilirsiniz, eger degisiklik yapmadiysaniz buyuk ihtimalle
c:\oracle\product\10.0.2\db_1\jdbc\lib\ojdbc14.jar bu yoldaki jarida
gosterebilirsiniz, ama .jar dosyaniz varsa gerekde kalmaz. jarii ekledikden
sonra Databases uzerinde sag click new connection diyoruz. Burada Name : Oracle
thin(with service(SID)) Host : localhost (Kendi bilgisayarinda baglanacaksan,
uzak bilgisayar icin, bilgisaayar IP adress) Port : 1521 (degistirmediysen)
Database : orcl (degistirmediysen) Username : (baglanmak istedigin kullanici
adi) password : xxxxxxx bunlardan sonra ok deyip baglantin basarili olursa
demekki hersey yolunda hic bir sorun yok, artik bundan sonra rahat bi sekilde
kod yazarak baglanti kurabilirsin. Yukaridaki olay karisik gorunuypor ama cok
basit bir olay yaparkende goreceksindir. Daha sonra kodla baglanti kurmak icin
Once bi test et bi class icinde daha sonra uygulamalarinda kullanmaya basla
bence. public static void main(String args[]){
DriverManager.registryDriver(new oracle.jdbc.OracleDriver()); Connection con =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","username","password");
System.out.println("baglanti basarili"); } bu kodu bi test et eger hata
cikmassa baglanti kuruldu, hersey duzgun calisiyor demektir. Kolay gelsin
umarim yardimci olmusumdur...
|
|
|
ksbairt203 24 ay önce
Aktivite Puanı: 16
yardımlarınız için çok teşekkürler ertuğrul bey sizin dediğiniz gibi yapınca
halloldu çalıştı.şimdide başka bi sorunum var.amacım veri tabanına
kayıt(oracle) şimdilik textfield den kayıt yapıcam bunu yapabiliyorum aşağıdaki
kodlarla anahtarkelime=txtkelime.getText(); try{
DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","*******","*****");
Statement stmt=conn.createStatement(); stmt.execute("INSERT INTO
ANAHTAR(ANAHTARKELIME) VALUES('"+anahtarkelime+"')"); } catch(SQLException ex){
ex.printStackTrace(); } JOptionPane.showMessageDialog(super.getContentPane(),
"Kayıt başarıyla eklendi!"); ancak benim formumda 5 tane textfield olacak ama
veritabanımda tek alan yani aynı anda tek yere 5 kayıt yapabileyim istiyorum
çok uğraştım ancak bi türlü yapamıyorum.birde kayıt olmazsa eğer kayıt olmadı
die mesaj göndersin istiorum ancak şartı nasıl yazacağımı bilemedim.
yardımlarınız için şimdiden teşekkürler
|
|
|
ertugrula 24 ay önce
Aktivite Puanı: 156
Merhaba, Calistirabilmenize cok sevindim, emek vererek zamanla istdiginiz
herseyi yapacaksiniz insllah Bu sorunuza gelince, sole yapabiliriz. Yani ayni
anda 5 tane yada on tane kayit eklemek icin, bir for icine alsak ayni islemi 5
defa yapmasa for(int i = 0; i<5; i++){ stmt.execute("INSERT INTO
ANAHTAR(ANAHTARKELIME) VALUES('"+anahtarkelime+"')"); i; } buna benzer
sekilde, for kullanarak kac tane eklemek istiyorsun rahatlikla ekleyebilirsin,
Diger soruna gelince kodlarini try{} icine aldiginda, eger kayit eklenmesse
hata verecektir, kayit eklenmisse eklendi mesaji try{
stmt.execute("INSERT INTO ANAHTAR(ANAHTARKELIME) VALUES('"+anahtarkelime+"')");
JOptionPane.showMessageDialog(super.getContentPane(), "Kayıt başarıyla
eklendi!"); }cacth(Exception e){ System.out.println("Kayit Eklenmedi...");
} bu sekilde kullanarak yapabilirsin. Asagidaki linkte guzel ornekler
var.
http://www.java2s.com/Code/Java/Database-SQL-JDBC/CatalogDatabase-SQL-JDBC.htm
yine istedigim zaman yardim edebilirm. Kolay gelsin
|
|
|
ertugrula 24 ay önce
Aktivite Puanı: 156
Daha once yanlis anlamisim demek istedigini, galiba yapmak istedigin, Adi :
Soyadi : No: Bu degerleri kayit gondermek degilmi, ancak burda bes kayit degil
yanliz bir kayit uzerinden islem yapacaksin yine, Mesala ("INSERT INTO
ANAHTAR(ANAHTARKELIME) VALUES('adi', 'soyadi','No')"); bu sekilde bir sql
sorgusu uzerinde degerleri gondererek kayit yapacaksin, yani senin 5 tane
textfieldi bu sqglde degerler vereceksin ("INSERT INTO ANAHTAR(ANAHTARKELIME)
VALUES('"+anahtarkelime+"','"+anahtarkelime2+"','"+anahtarkelime3+"')"); bu
sekilde olmasi gerekiyor. Istersen mail adresini ver, ben bi tane yapilmis
basit bi ornek vereyim, sana yardimci olur, yaparken. Kolay Gelsin...
|
|
|
ertugrula 24 ay önce
Aktivite Puanı: 156
http://www.verivizyon.com/detail.asp?cid=235 ayrica bu sitede cok guzel bir
ornek var, guzel bi sekilde inceler, ve inidirp projeyi acip calistirirsan cok
daha iyi goreceksindir, ama oncelikle biraz zamanin ayirip tek tek incelemek
gerekiyor neler yapildigini
|
|
|
ksbairt203 24 ay önce
Aktivite Puanı: 16
öncelikle teşekkür ederim hallettim problemi belki daha kısa yolu var
bilmiyorum yani döngü kullanmadan hallettim ("INSERT INTO
ANAHTAR(ANAHTARKELIME)
VALUES('"+anahtarkelime+"','"+anahtarkelime2+"','"+anahtarkelime3+"')"); bu
şekilde yaparsam hata veriyor şu şekilde java.sql.SQLException: ORA-00913: too
many values ben şöyle yaptım stmt.execute("INSERT INTO ANAHTAR(ANAHTARKELIME)
VALUES('"+jTextField5.getText()+"')"); stmt.execute("INSERT INTO
ANAHTAR(ANAHTARKELIME) VALUES('"+jTextField4.getText()+"')");
stmt.execute("INSERT INTO ANAHTAR(ANAHTARKELIME)
VALUES('"+jTextField3.getText()+"')"); stmt.execute("INSERT INTO
ANAHTAR(ANAHTARKELIME) VALUES('"+jTextField2.getText()+"')");
stmt.execute("INSERT INTO ANAHTAR(ANAHTARKELIME)
VALUES('"+jTextField1.getText()+"')"); bi problem çıkmadı mail adresimi de
mesaj olarak yolluyorum incelemek isterim örneğide
|
Aktivite Puanı: 16