Jump to content
nurihsan

Nak Insert Selected Element To Sql

Recommended Posts

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;
}
}

Share this post


Link to post
Share on other sites
[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)";

Share this post


Link to post
Share on other sites
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....

Share this post


Link to post
Share on other sites
[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

Share this post


Link to post
Share on other sites
[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...

Share this post


Link to post
Share on other sites
[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 by nurihsan

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
[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

Share this post


Link to post
Share on other sites
[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....

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...