c#省市联动(sqlHelper的应用)

sqlHelper:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.Configuration;
 7 using System.Data.SqlClient;
 8
 9 namespace WindowsFormsApplication1
10 {
11     public class sqlHelper
12     {
13         private static readonly string str = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
14         //增删改
15         public static int ExecuteNonquery(string sql, params SqlParameter[] ps)
16         {
17             using (SqlConnection con = new SqlConnection(str))
18             {
19                 using (SqlCommand cmd = new SqlCommand(sql, con))
20                 {
21                     con.Open();
22                     if (ps != null)
23                     {
24                         cmd.Parameters.AddRange(ps);
25                     }
26                     return cmd.ExecuteNonQuery();
27                 }
28             }
29
30         }
31         //首行首列
32         public static object ExecuteScalar(string sql, params SqlParameter[] ps)
33         {
34             using (SqlConnection con = new SqlConnection(str))
35             {
36                 using (SqlCommand cmd = new SqlCommand(sql, con))
37                 {
38                     con.Open();
39                     if (ps != null)
40                     {
41                         cmd.Parameters.AddRange(ps);
42                     }
43                     return cmd.ExecuteScalar();
44                 }
45             }
46         }
47         //查询
48         public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] ps)
49         {
50             SqlConnection con = new SqlConnection(str);
51             using (SqlCommand cmd = new SqlCommand(sql, con))
52             {
53                 if (ps != null)
54                 {
55                     cmd.Parameters.AddRange(ps);
56                 }
57                 try
58                 {
59                     con.Open();
60                     return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
61                 }
62                 catch (Exception ex)
63                 {
64                     con.Close();
65                     con.Dispose();
66                     throw ex;
67                 }
68             }
69         }
70     }
71 }

Form1设计:

Form1代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 using System.Windows.Forms;
10 using System.Data.SqlClient;
11
12 namespace WindowsFormsApplication1
13 {
14     public partial class Form1 : Form
15     {
16         public Form1()
17         {
18             InitializeComponent();
19         }
20
21         private void Form1_Load(object sender, EventArgs e)
22         {
23             LoadShengById2(0);
24         }
25
26         private void LoadShengById2(int p)
27         {
28             string sql = "select id1, name from city where id2=" + p;
29             List<City> list = new List<City>();
30             list.Add(new City() { Id1 = -1,Name = "请选择"});//加一个“请选择”,如果不加,点北京不出城市,为什么?
31             using (SqlDataReader reader = sqlHelper.ExecuteReader(sql))
32             {
33                 if (reader.HasRows)
34                 {
35                     while (reader.Read())
36                     {
37                         City c = new City();
38                         c.Id1 = Convert.ToInt32(reader["id1"]);
39                         c.Name = reader["name"].ToString();
40                         //c.Id2 = Convert.ToInt32(reader["id2"]);
41                         list.Add(c);
42                     }
43
44                 }
45             }
46             //下面的放在using外面
47             cobSheng.DataSource = list;
48             cobSheng.DisplayMember = "Name";//显示的是哪个名字的信息
49             cobSheng.ValueMember = "Id1";//实际保存的信息
50
51         }
52
53         private void cobSheng_SelectedIndexChanged(object sender, EventArgs e)
54         {
55             //一定要加判断,有选中才运行!
56             if (cobSheng.SelectedIndex != 0)
57             {
58                 //MessageBox.Show(cobSheng.SelectedValue.ToString());
59                 int id = Convert.ToInt32(cobSheng.SelectedValue);
60                 string sql = "select * from city where id2=" + id;
61                 List<City> list = new List<City>();
62                 using (SqlDataReader reader = sqlHelper.ExecuteReader(sql))
63                 {
64                     if (reader.HasRows)
65                     {
66                         while (reader.Read())
67                         {
68                             City c = new City();
69                             c.Id1 = Convert.ToInt32(reader["id1"]);
70                             c.Name = reader["name"].ToString();
71                             c.Id2 = Convert.ToInt32(reader["id2"]);
72                             list.Add(c);
73                         }
74                         cobShi.DataSource = list;
75                         cobShi.DisplayMember = "name";
76                     }
77                 }
78             }
79
80
81         }
82     }
83 }

City类:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace WindowsFormsApplication1
 8 {
 9     public class City
10     {
11         private int _id1;
12
13         public int Id1
14         {
15             get { return _id1; }
16             set { _id1 = value; }
17         }
18         private string _name;
19
20         public string Name
21         {
22             get { return _name; }
23             set { _name = value; }
24         }
25         private int _id2;
26
27         public int Id2
28         {
29             get { return _id2; }
30             set { _id2 = value; }
31         }
32     }
33 }

App.config:

1 <?xml version="1.0" encoding="utf-8" ?>
2 <configuration>
3     <startup>
4         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
5     </startup>
6 <connectionStrings>
7   <add connectionString="Data Source =.; Initial Catalog = mysql; Integrated Security = True;" name="conStr" />
8 </connectionStrings>
9 </configuration>

数据库:

时间: 2024-08-02 03:32:56

c#省市联动(sqlHelper的应用)的相关文章

自建List&lt;&gt;绑定ComboBox下拉框实现省市联动

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace _04省市联动 { public partial cl

几个数据库的小案例(二):极其简单的省市联动

总用有两个文件(frmMain.cs SqlHelper.cs) //frmMain.cs//作者:Meusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 省市联动

php省市联动实现

设计模式:ajax实现,数据库格式:id,name,parent_id 数据库: CREATE TABLE IF NOT EXISTS `city` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(30) DEFAULT NULL, `parent_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREME

fragment 中利用spinner实现省市联动

(1)布局文件就不在说明了,主要说代码的实现,先把代码贴上! package com.example.cl; import android.annotation.SuppressLint; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import

省市联动 js

工作中见到这个省市联动代码,虽然很简单也能写出来,还是随便把它记录下来. //省市联动 function area(obj_id, area_pId, data_call_back) { if (area_pId == -1) return; $.ajax({ type: 'GET', url: "/SysAdmin/Pages/tb_supplierAdd.aspx", data: { area_pId: area_pId }, dataType: 'json', success:

jquery插件-省市联动

由于项目需要需要实现一个省市联动,由于业务有一些特殊的需求,使用现有的插件略有不便,就自己实现了一个. 首先需要保存地区数据的JS数据文件,我这里命名为areaData.js,内容如下: /** * 保存地区信息 * 数据格式 * areaData = [{'pro': '北京', 'cities': {'-1': '北京'}}, {...}] * 直辖市存在-1,表示就是直辖市 */ (function(window) { window.areaData = [{"pro":&quo

Dynamic CRM 2013学习笔记(八)过滤查找控件 (类似省市联动)

我们经常要实现类似省市联动一样的功能,常见的就是二个查找控件,一个选择了省后,另一个市的查找控件就自动过滤了,只显示当前省下的市,而不是所有的市.当然这是最简单的,实际工作中还有更复杂的功能要通过过滤查找控件来实现.本文主要介绍基本的查找控件过滤.多表关联的复杂过滤以及子表里实现查找控件的过滤.   一.简单的过滤 先看下需求: 按"Special GL Indicator" 来过滤 Posting 查找控件增加了preSearch事件.它发生在查找控件显示对话框供用户查找记录之前,与

AJAX案例四:省市联动

1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 4 5 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4

Json 基于jQuery+JSON的省市联动效果

helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery  JSON  Ajax  省市联动 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最为常见.开发者一般使用Ajax实现无刷新下拉联动.本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果. 查看演示 下载源码 HTML 首先在head中载入jquery库和cityselect插件. <script type="tex

js实现的省市联动

最近工作,要用到省市联动的功能.网上搜了一下,发现有很多这样的例子,看了不少实例,把觉得写得不错的代码穿上来,好给大家分享一下. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/199