省钱通官网,崽儿聊,故事下载
界面代码xaml
<grid> <datagrid x:name="datagrid1" horizontalalignment="left" height="400" margin="10,10,0,0" verticalalignment="top" width="537" loadingrow="datagrid_loadingrow"> <datagrid.columns> <datagridtextcolumn header="id" width="50" binding="{binding path=id}"/> <datagridtextcolumn header="name" width="*" binding="{binding path=name}"/> <datagridtextcolumn header="phone" width="*" binding="{binding path=phone}"/> <datagridtextcolumn header="email" width="*" binding="{binding path=email}"/> </datagrid.columns> </datagrid> <button x:name="deletebutton" content="删除" margin="0,40,10,0" verticalalignment="top" click="deletebutton_click" horizontalalignment="right" width="75"/> <button x:name="updatebutton" content="修改" margin="0,80,10,0" verticalalignment="top" click="updatebutton_click" horizontalalignment="right" width="75"/> <button x:name="insertbutton" content="插入" margin="0,120,10,0" verticalalignment="top" click="insertbutton_click" horizontalalignment="right" width="75"/> </grid>
后端代码cs
public partial class mainwindow : window { //sqlbulkcopy random rd = new random(); string sqlstr = "data source=127.0.0.1;user id=root;password=root;database=test;charset=utf8;"; mysql.data.mysqlclient.mysqlconnection con; mysql.data.mysqlclient.mysqldataadapter adapter; system.data.dataset ds; system.data.datatable dt; public mainwindow() { initializecomponent(); updatemysqldata(); } private void datagrid_loadingrow(object sender, system.windows.controls.datagridroweventargs e) { e.row.header = e.row.getindex() + 1; } private void updatemysqldata() { if (con == null) { con = new mysql.data.mysqlclient.mysqlconnection(sqlstr); con.open(); } if (adapter == null) { adapter = new mysql.data.mysqlclient.mysqldataadapter("select * from user", con); } if (ds == null) { ds = new system.data.dataset(); } ds.clear(); adapter.fill(ds, "user"); if (dt == null) { dt = ds.tables["user"]; } datagrid1.itemssource = dt.defaultview; } private void deletebutton_click(object sender, routedeventargs e) { int index = datagrid1.selectedindex; if (index == -1) return; #if mysqlcommand string deletesqlcommand = string.format("delete from user where id = '{0}'", dt.rows[index]["id"]); mysql.data.mysqlclient.mysqlcommand cmd = new mysql.data.mysqlclient.mysqlcommand(deletesqlcommand, con); cmd.executenonquery(); updatemysqldata(); #else dt.rows[index].delete(); //dt.rows.removeat(index);==dt.rows[index].delete() + dt.acceptchanges() mysql.data.mysqlclient.mysqlcommandbuilder builder = new mysql.data.mysqlclient.mysqlcommandbuilder(adapter); adapter.update(dt); dt.acceptchanges(); #endif } private void updatebutton_click(object sender, routedeventargs e) { #if mysqlcommand int index = datagrid1.selectedindex; string updatesqlcommand = string.format("update user set id = '{0}', name = '{1}', phone = '{2}', email = '{3}' where id = '{0}'", dt.rows[index]["id"], dt.rows[index]["name"], dt.rows[index]["phone"], dt.rows[index]["email"]); mysql.data.mysqlclient.mysqlcommand cmd = new mysql.data.mysqlclient.mysqlcommand(updatesqlcommand, con); cmd.executenonquery(); updatemysqldata(); #else mysql.data.mysqlclient.mysqlcommandbuilder builder = new mysql.data.mysqlclient.mysqlcommandbuilder(adapter); adapter.update(dt); dt.acceptchanges(); #endif } private void insertbutton_click(object sender, routedeventargs e) { #if mysqlcommand string insertsqlcommand = string.format("insert into user(id, name, phone,email) values('{0}','{1}','{2}','{3}')", rd.next(100), "zhangsan", 12332112345, "zhangsan@qq.com"); mysql.data.mysqlclient.mysqlcommand cmd = new mysql.data.mysqlclient.mysqlcommand(insertsqlcommand, con); cmd.executenonquery(); string insertsqlcommand2 = string.format("insert into user(id, name, phone,email) values('{0}','{1}','{2}','{3}')", rd.next(100), "lisi", 12332112345, "lisi@yahoo.com"); mysql.data.mysqlclient.mysqlcommand cmd2 = new mysql.data.mysqlclient.mysqlcommand(insertsqlcommand2, con); cmd2.executenonquery(); updatemysqldata(); #else system.data.datarow dr = dt.newrow(); dr[0] = rd.next(100); dr[1] = "zhangsan"; dr[2] = "12332112345"; dr[3] = "zhangsan@qq.com"; dt.rows.add(dr); system.data.datarow dr2 = dt.newrow(); dr2[0] = rd.next(100); dr2[1] = "lisi"; dr2[2] = "12332154321"; dr2[3] = "lisi@yahoo.com"; dt.rows.add(dr2); mysql.data.mysqlclient.mysqlcommandbuilder builder = new mysql.data.mysqlclient.mysqlcommandbuilder(adapter); adapter.update(ds, "user"); dt.acceptchanges(); #endif } }
软件打开界面
删除时一直不失败,网上找了好久才找到答案
参考资料
https://blog.csdn.net/sz101/article/details/5837950
https://bbs.csdn.net/wap/topics/390845652
http://www.cnblogs.com/perfect/archive/2007/08/06/844634.html
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论