nurihsan 0 Report post Posted November 8, 2011 salam kwn2,saya de mslh nak masukkan element(column) yang user input ke database.untuk pengetahuan,saya sudah dapat connect dengan database,tp column yang user select masih lagi tidak masuk ke database.mohon pertolongan untuk selesaikan masalah ni.terima kasih //filename = student.csv(name,matric,gender,state,faculty) //link image output = http://www.imgplace.com/viewimg23/719/45java.jpg //method select column file public void selectfile(){ System.out.println("=========================================="); System.out.println("\tSelect column from "+filename); System.out.println("=========================================="); Vector<Integer> choiceList = new Vector<Integer>(); int choice =0; System.out.println("\t1 : column 1"); System.out.println("\t2 : column 2 and so on"); System.out.println("\t-1 : End choices"); System.out.println("==========================================="); System.out.println(); while (choice != -1) { System.out.print("Please enter your choice :"); Scanner option = new Scanner(System.in); choice = option.nextInt(); choiceList.add(choice); } try{ BufferedReader file = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream(filename))); input = new Scanner(file); System.out.println(); String sql = "INSERT INTO student(name,matric,gender,state,faculty) VALUES (?,?,?,?,?)"; PreparedStatement pstmt= MysqlUtility.getConnection().prepareStatement(sql); while ( input.hasNext()) { String line = input.next(); data = line.split(","); for (int i=0;i<data.length; i++) { for(int j=0; j<choiceList.size();j++) { int choice_no = choiceList.elementAt(j); if (choice_no == i+1) System.out.print(data[i]); pstmt.setString(i++,data[i]); } } System.out.println(""); } pstmt.close(); file.close(); input.close(); //System.out.println("success insertion"); } catch (Exception e) { System.out.println("getFileContentsAsStringError(): " + filename + "\n" + e); //throw e; } } Quote Share this post Link to post Share on other sites
Zulhilmi Rahman 3 Report post Posted November 8, 2011 [quote name='nurihsan' timestamp='1320739017' post='1074859'] String sql = "INSERT INTO student(name,matric,gender,state,faculty) VALUES (?,?,?,?,?)"; [/quote] dalam java memang macamni ke format dia? hehe. aku tak berapa tau pasal java. tapi php+mysql tau la.. kalau ikut statement sql yang atas tuh dari mana dia dapat value-value dia eh? kalau plain sql statement akan jadi macam nih jika ada data: INSERT INTO student(name,matric,gender,state,faculty) VALUES ('Ahmad','FTMK0013','Lelaki','Selangor','FTMK'); just contoh la. yg ni main taram jer: String name = 'Ahmad'; String matrix = 'FTMK0013'; String gender = 'Lelaki'; String state = 'Selangor'; String faculty = 'FTMK'; String sql = "INSERT INTO student(name,matric,gender,state,faculty) VALUES (name,matrix, gender, state, faculty)"; Quote Share this post Link to post Share on other sites
akuccputsedut 147 Report post Posted November 8, 2011 apa yang zulhimi tuh nyatakan betui tapi itu kalau ko nak direct insert.... tapi ko nak amik jawapan masuk dalam database... kalau ko nya system nih dah de output kuar kan... ko just create new parameter utk output ko tuh... pastu kat value insert into ko letak kan nama parameter tuh... kalau cam sekarang nih aku nengok kan sql statement ko tuh tak grab pape sebab tuh takde pape masuk dalam database.... Quote Share this post Link to post Share on other sites
nurihsan 0 Report post Posted November 8, 2011 [quote name='akuccputsedut' timestamp='1320742538' post='1074867'] apa yang zulhimi tuh nyatakan betui tapi itu kalau ko nak direct insert.... tapi ko nak amik jawapan masuk dalam database... kalau ko nya system nih dah de output kuar kan... ko just create new parameter utk output ko tuh... pastu kat value insert into ko letak kan nama parameter tuh... kalau cam sekarang nih aku nengok kan sql statement ko tuh tak grab pape sebab tuh takde pape masuk dalam database.... [/quote] yup,nak amik input yang user select masuk db..mksudnya skrg sy kena create string baru la kan? boleh tunjukkan contohnya untuk gambaran.terima kasih Quote Share this post Link to post Share on other sites
akuccputsedut 147 Report post Posted November 9, 2011 [CODE]PreparedStatement ps=conn.prepareStatement("INSERT INTO memory VALUES (?,?,?)"); ps.setString(1,firstname ); ps.setString(2,lastname ); ps.setString(3,address1 ); ps.execute();[/CODE] gambaran untuk ko.. kasi idea jer nih.. rasa ko leh wat punya... Quote Share this post Link to post Share on other sites
nurihsan 0 Report post Posted November 10, 2011 (edited) [quote name='akuccputsedut' timestamp='1320805881' post='1074932'] [CODE]PreparedStatement ps=conn.prepareStatement("INSERT INTO memory VALUES (?,?,?)"); ps.setString(1,firstname ); ps.setString(2,lastname ); ps.setString(3,address1 ); ps.execute();[/CODE] gambaran untuk ko.. kasi idea jer nih.. rasa ko leh wat punya... [/quote] tq..tp saya dah set kn cmtu, //setiap ? mewakili column.jadi bila saya run, semua value column msk kedlm db. [color=#000000][b]String sql = "INSERT INTO student(name,matric,gender,state,faculty) VALUES (?,?,?,?,?)";[/b][/color] [color=#000000][b]PreparedStatement pstmt= MysqlUtility.getConnection().prepareStatement(sql);[/b][/color] //nak masukkan some column yang user pilih je.klu boleh saya nak insert data[i] sahaja masuk values(?).mcmmane ye? [b][color=#000000]pstmt.setString(i+1,data[i]);[/color][/b] [b][color=#000000]pstmt.executeUpdate();[/color][/b] //link image file student.csv : http://www.imgplace.com/viewimg337/6508/11studentcsvfile.jpg //link image output : http://www.imgplace.com/img36/3738/87javaa.th.jpg //link image table student : http://www.imgplace.com/viewimg341/6585/28tablestudent.jpg harap boleh memahami dan membantu..tq Edited November 10, 2011 by nurihsan Quote Share this post Link to post Share on other sites
akuccputsedut 147 Report post Posted November 10, 2011 kalau 1 data jer masuk ke dalam 1 column.. yang lain akan jadi Null...so akan kuar error ko letak ler condition if value Null change to "Null".... tapi aku pelik ler.. takkan ko nak biar column yang lain kosong.. nanti kalau ko nak panggil balik data.. ko nak set camne...??? ada 4 data jer takper arr.. tapi kalau ada beribu data.. code ko akan jadi tak relevan... Quote Share this post Link to post Share on other sites
nurihsan 0 Report post Posted November 11, 2011 [quote name='akuccputsedut' timestamp='1320919997' post='1074988'] kalau 1 data jer masuk ke dalam 1 column.. yang lain akan jadi Null...so akan kuar error ko letak ler condition if value Null change to "Null".... tapi aku pelik ler.. takkan ko nak biar column yang lain kosong.. nanti kalau ko nak panggil balik data.. ko nak set camne...??? ada 4 data jer takper arr.. tapi kalau ada beribu data.. code ko akan jadi tak relevan... [/quote] 2la,dh pening,sy pn xphm dh cmne nak set kn.sbnrnya application ne usefull untuk org nk upload csv file based on column.bila org tu dh select column yg dia nak,then data column tu saja yang akan dimasukkn dlm db Quote Share this post Link to post Share on other sites
akuccputsedut 147 Report post Posted November 11, 2011 primary key ko column mana.??? Quote Share this post Link to post Share on other sites
nurihsan 0 Report post Posted November 11, 2011 [quote name='akuccputsedut' timestamp='1320994475' post='1075028'] primary key ko column mana.??? [/quote] column ke-2(matric) Quote Share this post Link to post Share on other sites
akuccputsedut 147 Report post Posted November 11, 2011 [quote name='nurihsan' timestamp='1320995622' post='1075030'] column ke-2(matric) [/quote] isi it this column also blank when user input data and save to database..?? is so.. that wrong already.. need to check back your logic.. something goes wrong.... Quote Share this post Link to post Share on other sites