第一次写的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 [email protected]";
                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(0);
                        model1.cityid = reader.GetString(1);
                        model1.city = reader.GetString(2);
                        model1.provinceid = reader.GetString(3);

                        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(0);
                    model.provinceid = reader.GetString(1);
                    model.province = reader.GetString(2);

                    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 [email protected]";
                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(0);
                        model1.areaid = reader.GetString(1);
                        model1.area = reader.GetString(2);
                        model1.cityid = reader.GetString(3);

                        list.Add(model1);
                    }
                    comboBox3.ValueMember = "areaid";
                    comboBox3.DisplayMember = "area";
                    comboBox3.DataSource = list;
                }
            }
        }
    }
}
时间: 2024-10-07 17:04:49

第一次写的MySQLHelper的相关文章

第一次写,python爬虫图片,操作excel。

第一次写博客,其实老早就注册博客园了,有写博客的想法,就是没有行动,总是学了忘,忘了丢,最后啥都没有,电脑里零零散散,东找找,西看看,今天认识到写博客的重要性. 最近闲着看了潭州教育的在线直播课程,颇受老师讲课实用有感.只作为自己笔记学习,我们都知道学习一门编程都是先照抄,在创作.这里完全按照老师讲解,照抄作为学习. 一.Python抓取豆瓣妹子图. 工具:python3.6.0;bs4.6.0;xlwt(1.2.0)需要版本对应,之前就安装了bs4但是运行的时候提示版本不对应.可以在线升级:p

起点.第一次写的东西.

这里记录着人生第一次写的东西..还有很多不懂的东西.以后会做的更好.<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>用户登录</title></head><body background="未标题-3 - 副本.jpg"><!--background 背景图片

第一次写python爬虫

花了4天终于把写完了把国内的几个漏洞平台爬完了,第一次写py,之前一直都在说学习,然后这周任务是把国内的漏洞信息爬取一下.花了1天学PY,剩下的1天一个.期间学习到了很多.总结如下: ==================================================================== =========================================================================================

第一次写博客,关于前端开发deMVC在js中的应用

对前端MVC MVC分别是model.view.controller的缩写,模型.视图.控制器.这些更加偏向于后台,在以前MVC是只属于后台的.当然随着技术的进步,前端的大牛们将后台的一些东西应用于前端,MVC就是其中之一.  走进MVC MVC三者关系图: 图片有点简单,请谅解,是第一次写,而且时间有点紧!!!  View视图 首先简单介绍一下它的工作原理与承担的业务.首先在这里我们先介绍View,它就是前端的视图界面,负责与用户的交互和拉取数据,如果说的简单点,它就是HTML文件: <!DO

《每日一博》——第一次写博客

第一次写博客,好紧张啊!说起来写博客的原因是为了让自己的学习经历以及过程能有更多的人帮忙讨论讨论(这个理由应该挺充分的吧!)---- 额,还是和大家介绍一下我自己吧! 我的网名是Tenma,真实姓名暂时不便透露,你们也可以叫我天马或者小马都可以! 我的兴趣便是计算机技术,现在也在学这方面的----希望能和更多志同道合的朋友交流交流---- <每日一博>--第一次写博客,码迷,mamicode.com

第一次写CSS+HTML

第一次写CSS+HTML,挺好玩, 给D,G,Z,J,S制定的行程表. 第一次写CSS+HTML

第一次写随笔,记录一下初衷

经历了一个思想斗争后,我想明白了,为什么要写博客. 之前学习时遇到了问题,百度后,在一篇博客帮助下快速的解决了. 于是我想,我不是不也可以通过记录自己的经历,来帮助他人?而且费曼学习法中,也提到了,教会他人是掌握技能的一个有效的方法. [关于博客,我只想做好,我喜欢的事情:分享!甚至没有对这件事附加太多的东西.只要能把博客记录的更简洁明了,哪怕断断续续,我也很满意.如果能附赠我其它,若有所得也好,不能也不会太失望.] 第一次写,定一下对自己随笔的要求吧: 主要记录感悟,包括遇到的问题及解决方法.

第一次写博客

2019-01-17 18:18:42 第一次写博客,记录一下. 为什么写博客? 主要是想记录一下自己的学习生活之类的吧.上一次写类似的东西还要追溯到高中吧,那时候QQ空间好像很火,我自己写了20多篇文章,时不时回忆一下高中的生活.说实话,高中应该是人生中最美好的一段时期吧.想想那个时候的主要矛盾还是在学习上吧,别的什么事情都不需要操心.年轻真好啊! 然后另一个目的就是可以通过博客来记录吧,应为我感觉好多东西看似会了,睡一觉起来就忘了,所以如果能记下来的话可以回顾嘛.然后把我遇到的一些安装和学习

纪念第一次写博客

2019 04 07 第一次写博客就记录最基础的c语言下的利用循环 使用时间戳的猜数字游戏 vs  实现 #define _CRT_SECURE_NO_WARNINGS   //  vs   下的宏定义    (scanf) #include<stdio.h> #include<stdlib.h> #include<string.h> #include <time.h> int Menu() { int choice = 0; printf("1,