c# - how to save listbox item to multiple database Fields? like split -
i'm using listbox1 , listbox2 want transfer selected items listbox1 listbox2 (id, firstname middlename lastname) in database firstname , middlename , lastname in separate fields after trasnfer listbox1 items listbox2 want save database problem ... don't know how split words , give each words string name command them save assigned fields
here's code sqlconnection
void database1() { conn.open(); sqlcommand cmd = new sqlcommand("select * [user_tbl_db]", conn); sqldataadapter da = new sqldataadapter(cmd); dataset ds = new dataset(); da.fill(ds); conn.close(); datatable mydatatable = ds.tables[0]; datarow temprow = null; foreach (datarow temprow_variable in mydatatable.rows) { temprow = temprow_variable; listbox2.items.add((temprow["id"] + ", " + temprow["firstname"] + " " + " " + temprow["middlename"] + " " + " " + temprow["lastname"])); } }
then how transfer items listbox1 listbox2
protected void button2_click(object sender, eventargs e) { (int = listbox2.items.count - 1; >= 0; i--) { if (listbox2.items[i].selected) { listbox3.items.add(listbox2.items[i]); listbox2.items.removeat(i); } } }
now saving.. don't know..
and after transfer item listbox2 listbox1 item deleted database of listbox1 after saving ..
listbox1 database name is
[user_tbl_db] fields: id,firstname,middlename,lastname
listbox2 database name
[copyuser_tbl_db] fields: id,firstname,middlename,lastname
here's current output
if want split words , add them db, like
protected void button2_click(object sender, eventargs e) { (int = listbox2.items.count - 1; >= 0; i--) { if (listbox2.items[i].selected) { listbox3.items.add(listbox2.items[i]); string[] splits = listbox2.items[i].tostring().split(new char[]{' ', ','}); // splitting both empty space , comma (you've used in ur question) sqlcommand cmd = new sqlcommand("insert [copyuser_tbl_db] ([id], [firstname], [middlename], [lastname]) values (@id, @fname, @mname, @lname)", conn); cmd.parameters.add("@id", sqldbtype.int).value = convert.toint32(splits[0]); cmd.parameters.add("@fname", sqldbtype.varchar).value = splits[1]; cmd.parameters.add("@mname", sqldbtype.varchar).value = splits[2]; cmd.parameters.add("@lname", sqldbtype.varchar).value = splits[3]; cmd.executenonquery(); listbox2.items.removeat(i); } } }
this fails if enter space in first name, , not approach..
.
.
a approach create class , store details in it.
class userdetails { public string id { get; set; } public string firstname { get; set; } public string middlename { get; set; } public string lastname { get; set; } public string fullrowdisplay { get; set; } public userdetails(string id, string fname, string mname, string lname) { id = id; firstname = fname; middlename = mname; lastname = lname; fullrowdisplay = id + " " + fname + " " + mname + " " + lname; } }
and in reading side
listbox1.displaymember = listbox2.displaymember = "fullrowdisplay"; foreach (datarow temprow_variable in mydatatable.rows) { temprow = temprow_variable; listbox2.items.add(new userdetails(temprow["id"], temprow["firstname"], temprow["middlename"], temprow["lastname"])); }
and @ inserting part
if (listbox2.items[i].selected) { userdetails udetail = listbox2.items[i]; listbox3.items.add(udetail); sqlcommand cmd = new sqlcommand("insert [copyuser_tbl_db] ([id], [firstname], [middlename], [lastname]) values (@id, @fname, @mname, @lname)", conn); cmd.parameters.add("@id", sqldbtype.int).value = convert.toint32(udetail.id); cmd.parameters.add("@fname", sqldbtype.varchar).value = udetail.firstname; cmd.parameters.add("@mname", sqldbtype.varchar).value = udetail.middlename; cmd.parameters.add("@lname", sqldbtype.varchar).value = udetail.lastname; cmd.executenonquery(); listbox2.items.removeat(i); }
Comments
Post a Comment