datagrid显示mysql_WPF DataGrid显示MySQL查询信息,且可删除、修改、插入 (原发布 csdn 2018-10-13 20:07:28)...
1、入行好几年了,工作中使用数据库几率很小(传统行业)。借着十一假期回家机会,学习下数据库。
2、初次了解数据库相关知识,如果本文有误,还望告知。
3、本文主要目的,记录下wpf界面显示数据库信息,且可进行删除、修改、插入命令。并反馈数据到MySQL。做个记录,以便以后工作中使用到时没个头绪。
4、MySQL的基本讲解不再介绍,安装过程什么的,我也是按照网上教程一步一步进行的,假定MySQL已安装成功,且新建有数据库,见下图:
废话不多说,直接上代码
界面代码xaml
后端代码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
}
}
软件打开界面
datagrid显示mysql_WPF DataGrid显示MySQL查询信息,且可删除、修改、插入 (原发布 csdn 2018-10-13 20:07:28)...相关推荐
- MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据
MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据 目录导航: 开发背景: 实战: 表结构如下图所示: 操作: 总结: 回到顶部 开发背景: 最近在做一个批量数据导入到MySQL数据 ...
- MYSQL查询事务并强制删除
MYSQL查询事务并强制删除 SELECT * from information_schema.INNODB_TRX KILL trx_mysql_thread_id(该字段) ; 暴力全部删除 se ...
- MySQL查询重复字段,及删除重复记录的方法
MySQL查询重复字段,及删除重复记录的方法(转) Submitted by wiley on Thu, 09/03/2009 - 09:36 [教学] MySQL查询重复字段,及删除重复记录的方法 ...
- python去重复的数据_Python中mysql查询重复数据并删除重复数据
#coding:utf-8 import mysql.connector mydb = mysql.connector.connect( host='localhost', user='root', ...
- php mysql 查询每隔一段时间插入的数据_SQL查询某个时间段共多少条数据
Linux下的C编程实战 Linux下的C编程实战(一) ――开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳 ...
- mysql 1z0_MySQL 8 OCP(1Z0-908)认证考试题库原题(第10题)
Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第10题 Choose the best answer. Examine these commands, which execute ...
- ADOQuery 查询 删除 修改 插入
//利用combobox组件查询数据库表 procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery1.Close; ADOQuery ...
- mysql 查询最早 表,【MySQL】MySQL查询表的创建时间
MySQL 数据库建库语句 CREATE DATABASE IF NOT EXISTS databasename DEFAULT CHARSET utf8 COLLATE utf8_general_c ...
- MySql增加用户、授权、修改密码等语句
2019独角兽企业重金招聘Python工程师标准>>> 1.新建用户. //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mys ...
最新文章
- java测试类 main方法_Java使用agent实现main方法之前的实例详解
- PXE网络引导装机原理介绍
- 使用Git工具生成公钥与私钥
- Vue——Vue-Router的push和replace方法[Uncaught (in promise) Error]解决方案
- 【Elasticsearch】如何使用 Elasticsearch 6.2 搜索中文、日文和韩文文本 - 第 2 部分: 多字段
- OpenShift 4 Hands-on Lab (12) 通过 KubeFed 配置 OpenShift 联邦集群
- 自实现进程管理器linux,【Linux工具篇】supervisor进程管理器
- java方法:flush()
- c++中的模板_C ++中的模板
- 5.1 API : SVC
- python检查exe运行是否报错_python打包成exe格式后,在部分机子上没法运行
- iOS开发 字体适配
- Keil (MDK)中变量定义位置
- 毕业设计(毕设)目标和要求 (以计算机软件毕业设计为例)
- android安装出现问题怎么解决方案,安卓手机安装软件提示解析程序包时出现问题怎么解决...
- ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
- 原生js做购物车全选选中商品显示价格和小计的计算
- cdr 表格自动填充文字_当文字内容太多excel单元格盛不下应该怎么做
- SPFA算法(最短路径)
- 华为鸿蒙麒麟玉兔_华为注册了整本《山海经》的商标?“鸿蒙”操作系统成功申请...
热门文章
- 中动态路径加载_GOT段在linux系统中实现代码动态加载的作用和其他段的说明
- js 解除网页右键菜单被禁用
- ActiveMQ Cannot send, channel has already failed: tcp:127.0.0.1:8161
- (转)spring中的拦截器(HandlerInterceptor+MethodInterceptor)
- android TextView下划线,圆角边框,数逐字显示,虚线边框, 渐变色背景框, 阴影背景框
- php 垂直搜死哦,垂直搜索(Vertical Search)的详细介绍
- mac 删除php56 安装php72,mac php56升级php70
- java——获取视频某一帧的图片
- java 2分代复制垃圾回收_Java对象的后事处理——垃圾回收(二)
- java date转sql date_java.util.Date和java.sql.Date转换(转)