博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
json_3层格式_数据源DataSet
阅读量:5245 次
发布时间:2019-06-14

本文共 2855 字,大约阅读时间需要 9 分钟。

例如下面这个方法,得到了一个视图的数据包含了省份城市店铺

public DataSet GetData()        {            try            {                StringBuilder sql = new StringBuilder("SELECT PROVINCE_ID,PROVINCE_NAME,CITY_ID,CITY_NAME,DEALER_ID,DEALER_NAME ");                sql.Append(" FROM VIEW_P_C_Data  ");                sql.Append(" WHERE  1=1 order by PROVINCE_NAME,CITY_NAME");                DataSet ds = dbManager.Query(sql.ToString());                return ds;            }            catch (Exception ex)            {                throw new Exception(ex.Message);            }        }

首先获取到数据DataSet ds = GetData();

声明:HashSet<string> vehicle_p = new HashSet<string>();

然后循环ds

foreach (DataRow row in ds.Tables[0].Rows)

{

}

循环里做一个复制判断,因为省份是重复的,城市也是。一对多的关系。所以不同城市相同省份时,对于json结构只要添加一次省份

bool exist_province = vehicle_p.Add(row["PROVINCE_NAME"].ToString());

bool exist_city = vehicle_p.Add(row["CITY_ID"].ToString());

//当省份不存在时,第一次添加

if (exist_province)

{

}else{

//相同省份不同城市时,

if (exist_city)
{

}else{

//相同城市,不同店铺时

}

}

 

PS:全部代码

public List
GetAllDealer() { List
list = new List
(); DataSet ds = GetData(); HashSet
vehicle_p = new HashSet
(); Text_Drive_Dealer t_dealer = null; List
list_vm = null; Text_City vm = null; foreach (DataRow row in ds.Tables[0].Rows) { bool exist_province = vehicle_p.Add(row["PROVINCE_NAME"].ToString()); bool exist_city = vehicle_p.Add(row["CITY_ID"].ToString()); if (exist_province) { //当省份不存在时,第一次添加 t_dealer = new Text_Drive_Dealer(); t_dealer.ProvinceID = row["PROVINCE_ID"].ToString(); t_dealer.ProvinceName = row["PROVINCE_NAME"].ToString(); //第一次添加城市 vm = new Text_City(); vm.CityID = row["CITY_ID"].ToString(); vm.CityName = row["CITY_NAME"].ToString(); //第一次添加该城市的特约店 Text_dealer td = new Text_dealer(); td.DealerID= row["DEALER_ID"].ToString(); td.DealerName = row["DEALER_NAME"].ToString(); List
list_td = new List
(); list_td.Add(td); vm.text_dealer = list_td; list_vm = new List
(); list_vm.Add(vm); t_dealer.TextDrive_City = list_vm; list.Add(t_dealer); } else { if (exist_city) { //第一次添加城市跟特约店 vm = new Text_City(); vm.CityID = row["CITY_ID"].ToString(); vm.CityName = row["CITY_NAME"].ToString(); Text_dealer td = new Text_dealer(); td.DealerID = row["DEALER_ID"].ToString(); td.DealerName = row["DEALER_NAME"].ToString(); List
list_td = new List
(); list_td.Add(td); vm.text_dealer = list_td; t_dealer.TextDrive_City.Add(vm); } else { //已有城市,添加特约店 //Text_City vm = new Text_City(); Text_dealer td = new Text_dealer(); td.DealerID = row["DEALER_ID"].ToString(); td.DealerName = row["DEALER_NAME"].ToString(); vm.text_dealer.Add(td); //t_dealer.TextDrive_City.Find().text_dealer=; } } } return list; }

 

转载于:https://www.cnblogs.com/ljh19/p/11057894.html

你可能感兴趣的文章
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>
【程序执行原理】
查看>>
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
UVA 10976 - Fractions Again?!
查看>>
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>
JavaScript可否多线程? 深入理解JavaScript定时机制
查看>>
IOS基础学习
查看>>
PHP 导出 Excell
查看>>
Java基础教程——网络基础知识
查看>>
Kruskal基础最小生成树
查看>>
浅谈算法和数据结构: 一 栈和队列
查看>>
Java内部类详解
查看>>
【hdu 1429】胜利大逃亡(续)
查看>>
图论-次短路求法
查看>>
What's New for Visual C# 6.0
查看>>
ExtJs学习笔记之ComboBox组件
查看>>
关于收费软件
查看>>