Thursday 15 April 2010

c# - Insert values from DataGridView to MySql-Database during runtime -



c# - Insert values from DataGridView to MySql-Database during runtime -

i got problem datagridview: can save value in mysql-database pressing button next code:

code

private void button8_click(object sender, eventargs e) { string connstr = "datasource=localhost;port=3306;username=root;password=123"; mysqlconnection conn = new mysqlconnection(connstr); seek { string sql = "select *from test.edata ;"; mysqldataadapter da = new mysqldataadapter(sql,conn); mysqlcommandbuilder cb = new mysqlcommandbuilder(da); mysqlcommand cmd = new mysqlcommand(); cmd.connection = conn; cmd.commandtext = sql; mysqlcommand insertcmd =cb.getinsertcommand().clone(); insertcmd.commandtext = insertcmd.commandtext +";select last_insert_id() id"; insertcmd.updatedrowsource = updaterowsource.firstreturnedrecord; da.insertcommand = insertcmd; cb.dataadapter = null; datatable dt = new datatable(); da.fill(dt); datarow row = dt.newrow(); row["familienname"] = "mustermann"; row["eid"] = "1"; row["vorname"] = "max"; row["age"] = "20"; dt.rows.add(row); da.update(dt); conn.close(); } catch(exception ex) { messagebox.show(ex.message); } }

question: can save total datagridview in database whenever form closing, or whenever press button? don´t want insert values code. values should read out of cells. user can alter on ui , if close form gridview saved in mysql-database.

i know website not "code me" site, i´m sure there method can insert values in mysql-database!

thanks in advance!

edit found link: mysqllink sample programm still don´t work.

okay, solved problem:

code

private void dgv_cellendedit(object sender, datagridviewcelleventargs e) { string id = dt.rows[e.rowindex]["eid"] + ""; string col = dt.columns[e.columnindex].columnname; string info = dgv1.rows[e.rowindex].cells[e.columnindex].value + ""; string sql = string.format("update `test`.`edata` set `{0}` = '{1}' eid = {2};", col, data, id); using (mysqlconnection conn = new mysqlconnection("datasource=localhost;port=3306;username=root;password=123")) { conn.open(); using (mysqlcommand cmd = new mysqlcommand()) { cmd.connection = conn; cmd.commandtext = sql; cmd.executenonquery(); } conn.close(); } } private void form4_load(object sender, eventargs e) { dt = new datatable(); using (mysqlconnection conn = new mysqlconnection("datasource=localhost;port=3306;username=root;password=123")) { conn.open(); using (mysqlcommand cmd = new mysqlcommand()) { cmd.connection = conn; cmd.commandtext = "select *from test.edata ;"; mysqldataadapter da = new mysqldataadapter(cmd); da.fill(dt); } conn.close(); } dgv1 = new datagridview(); dgv1.allowusertoaddrows = true; dgv1.cellendedit += new datagridviewcelleventhandler(dgv_cellendedit); dgv1.cellvalidating += new datagridviewcellvalidatingeventhandler(dgv_cellvalidating); dgv1.dock = dockstyle.fill; dgv1.datasource = dt; this.controls.add(dgv1); } } private void dgv_cellvalidating(object sender, datagridviewcellvalidatingeventargs e) { initializecomponent(); if (e.columnindex == 0) { dgv1.canceledit(); } }

i´m sorry question! may help other guy! give thanks time! won´t delete descussion myself! :) hope give rating answer. anyway give thanks if tried solve problem , have nice day! :)

c# mysql database datagridview

No comments:

Post a Comment