第一次写的MySQLHelper
一、 第一次写MysqlHelper,用来管理城市的数据库
二、MySQLHelper源代码
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Cater0718
{
public static class MySqlHelper
{
//定义一个连接字符串
//readonly修饰的变量,只能在初始化的时候赋值,或者在构造函数中赋值
//其它地方只能读取,不能修改字符串
private static readonly string constr = ConfigurationManager.ConnectionStrings["sqlserver"].ConnectionString; //1、执行增(insert)、删(delete)、改(update)的方法
//cmd.ExecuteNonQuery()
public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
{
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
con.Open();
return cmd.ExecuteNonQuery();
}
}
} //2、执行查询,返回单个结果的方法
//cmd.ExecuteSclar()
public static Object ExecuteSclar(string sql, params SqlParameter[] pms)
{
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
con.Open();
return cmd.ExecuteScalar();
}
}
} //3、执行查询,返回多行多列结果的方法
//cmd.ExecuteReader()
public static MySqlDataReader ExecuteReader(string sql, params MySqlParameter[] pms)
{
MySqlConnection con = new MySqlConnection(constr);
using (MySqlCommand cmd = new MySqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
try
{
con.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch
{
con.Close();
con.Dispose();
throw;
}
}
}
}
}
三、定义的实例类
1、省份
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Cater0718
{
public class zProvinces
{
public int id { get; set; }
public string provinceid { get; set; }
public string province { get; set; }
}
}
2、城市
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Cater0718
{
public class zCity
{
public int id { get; set; }
public string cityid { get; set; }
public string city { get; set; }
public string provinceid { get; set; }
}
}
3、地区
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Cater0718
{
public class zArea
{
public int id { get; set; }
public string areaid { get; set; }
public string area { get; set; }
public string cityid { get; set; }
}
}
四、最后用WinForm写的窗体
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace Cater0718
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedItem != null)
{
string provinceid = comboBox1.SelectedValue.ToString(); List<zCity> list = new List<zCity>();
string sql = "select * from cities where provinceid=@provinceid";
MySqlParameter p1 = new MySqlParameter("@provinceid",MySqlDbType.String) {Value=provinceid };
using (MySqlDataReader reader = MySqlHelper.ExecuteReader(sql,p1))
{
while (reader.Read())
{
zCity model1 = new zCity();
model1.id = reader.GetInt16();
model1.cityid = reader.GetString();
model1.city = reader.GetString();
model1.provinceid = reader.GetString(); list.Add(model1);
}
comboBox2.ValueMember = "cityid";
comboBox2.DisplayMember = "city";
comboBox2.DataSource = list;
}
}
} private void Form1_Load(object sender, EventArgs e)
{
LoadProvince();
} private void LoadProvince()
{
List<zProvinces> list = new List<zProvinces>();
string sql = "select * from provinces";
using (MySqlDataReader reader = MySqlHelper.ExecuteReader(sql))
{
while (reader.Read())
{
zProvinces model = new zProvinces();
model.id = reader.GetInt16();
model.provinceid = reader.GetString();
model.province = reader.GetString(); list.Add(model);
}
comboBox1.ValueMember = "provinceid";
comboBox1.DisplayMember = "province";
comboBox1.DataSource = list;
}
} private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox2.SelectedItem != null)
{
string cityid = comboBox2.SelectedValue.ToString(); List<zArea> list = new List<zArea>();
string sql = "select * from areas where cityid=@cityid";
MySqlParameter p1 = new MySqlParameter("@cityid", MySqlDbType.String) { Value = cityid };
using (MySqlDataReader reader = MySqlHelper.ExecuteReader(sql, p1))
{
while (reader.Read())
{
zArea model1 = new zArea();
model1.id = reader.GetInt16();
model1.areaid = reader.GetString();
model1.area = reader.GetString();
model1.cityid = reader.GetString(); list.Add(model1);
}
comboBox3.ValueMember = "areaid";
comboBox3.DisplayMember = "area";
comboBox3.DataSource = list;
}
}
}
}
}
四、APP.config的配置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<connectionStrings>
<add name="sqlserver" connectionString="Data Source=localhost;Initial Catalog=zone;User ID=admin;Password=123456"/>
</connectionStrings>
</configuration>
第一次写的MySQLHelper的更多相关文章
- 第一次写博客Poj1044
Date bugs Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3005 Accepted: 889 Descript ...
- 第一次写python爬虫
花了4天终于把写完了把国内的几个漏洞平台爬完了,第一次写py,之前一直都在说学习,然后这周任务是把国内的漏洞信息爬取一下.花了1天学PY,剩下的1天一个.期间学习到了很多.总结如下: ======== ...
- Java第一次写的流布局图形界面,留个纪念
package jisuanqi; import java.awt.*; public class MyFrame extends Frame{ //继承Frame类 public MyFrame() ...
- 第一次写博客,关于前端开发deMVC在js中的应用
对前端MVC MVC分别是model.view.controller的缩写,模型.视图.控制器.这些更加偏向于后台,在以前MVC是只属于后台的.当然随着技术的进步,前端的大牛们将后台的一些东西应用于前 ...
- HDU 2064 菜鸡第一次写博客
果然集训就是学长学姐天天传授水铜的动态规划和搜索,今天讲DP由于困意加上面瘫学长"听不懂就是你不行"的呵呵传授,全程梦游.最后面对连入门都算不上的几道动态规划,我的内心一片宁静,甚 ...
- 今天我自己第一次写了一个Windows批处理bat脚本,一起学习一下吧。
今天我自己第一次写了一个Windows批处理bat脚本,备注一下 事情原由:自己使用Java开发了一个加解密的工具.但是当把工具给别人使用的时候,别人还需要把代码编译打包, 然后还需要看一下代码里面的 ...
- 第一次写Web API接口
API是什么?只知道是网络接口,具体怎么写?不会!如何调用?不会!那怎么办? 第一次的经历~~ 需求:为其他项目提供一个接口 功能:为项目提供询盘信息和商家信息,格式为Json字符串 拿过来,就开始做 ...
- 第一次写python
这是一个在BJDP上学习Coding Kata的时候用到的一个练习,原来打算用Java写的,但是一想正好是学习的好机会. 就用Python了.第一次,写的有些复杂. 这个题目是关于购买图书的打折信息的 ...
- 第一次写博客,就写如何向外行介绍自己做的是什么,那个我是做web的
如果想外行问你是做什么的,改如何回答.和内行说java后台就可以了,但外行听不懂,我们该如何描述呢? 我的方法是:我做的是java web开发,不是内外的外,是个英文单词web,全名叫world wi ...
随机推荐
- HDU 4277 USACO ORZ(DFS暴搜+set去重)
原题代号:HDU 4277 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4277 原题描述: USACO ORZ Time Limit: 5000/1 ...
- elasticsearch堆内存的配置建议
1.将最小堆大小(Xms)和最大堆大小(Xmx)设置为彼此相等 防止内存抖动 2:给多大的堆内存? 给ES的内存配置不是越大越好,建议不能超过32GB,不同jdk版本最大边界值是不同的,对于32位小于 ...
- 一台电脑多个git使用 push 时候出现denied
http://my.oschina.net/silentboy/blog/220158 当一台电脑上多个git account 的时候, 出现如下问题, $ git push origin maste ...
- onload in JavaScript
https://www.w3schools.com/tags/ev_onload.asp Example Execute a JavaScript immediately after a page h ...
- linux 下spyder安装
linux 下spyder安装: 安装qt4,python3 对应qt5 sudo apt-get install libxext6 libxext-dev libqt4-dev libqt4-gu ...
- 关于linux中移动目录和到指定目录和移动目录中的数据到指定目录
#这里表示将目录node-v12.13.1-linux-x64移动到/usr/local/中重命名为node,所以node目录可以不存在[root@alone ~]# mv node-v12.13.1 ...
- 在mpvue或者Vue中使用VUEX
第一个页面Index,主页哦 import Vue from'vue' import Vuex from'vuex' import getters from'./getters' import sta ...
- 网页禁用表单的自动完成功能禁用密码自动填充autocomplete
网页中表单的自动完成功能,有时候很方便,但是有时候并不想让浏览器记忆表单,比如禁用密码域自动填充功能, 网页禁用表单的自动完成功能是由input元素的autocomplete属性控制,关闭表单的自动完 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第4节 System类_3_System类的常用方法
复制数组
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_08 Map集合_2_Map常用子类
常用的实现类HashMap 它的子类.LinkedHaspMap