C# - Dictionary join keys or join Values
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class Program
{
public static void Main()
{
string strID = "10010";
Dictionary<string, string> g = new Dictionary<string, string>();
g.Add("K", "k1");
g.Add("L", "l1");
string updateCustomerIncome = string.Format(" update CustomerIncome set {0} where ID = '{1}'; ",
string.Join(", ", g.Select(x => String.Format("{0} = '{1}'", x.Key, x.Value))), strID);
Console.WriteLine(updateCustomerIncome);
//var result2 = string.Join(", ", g.Select(x => String.Format("{0} = '{1}'", x.Key, x.Value)));
//Console.WriteLine(result2);
//Console.WriteLine(string.Join(", ", new List<string>(g.Keys)));
//Console.WriteLine(string.Join(", ", new List<string>(g.Values)));
string insertCustomerIncome = string.Format(" insert CustomerIncome(ID, {0}) values ('{1}', '{2}');",
string.Join(", ", new List<string>(g.Keys)), strID, string.Join("', '", new List<string>(g.Values)));
Console.WriteLine(insertCustomerIncome);
StringBuilder sb = new StringBuilder();
sb.AppendFormat("if exists (select * from CustomerIncome where id = '{0}')", strID);
sb.AppendLine();
sb.AppendLine(updateCustomerIncome);
sb.AppendLine("else");
sb.Append(insertCustomerIncome);
Console.WriteLine(sb.ToString());
}
}
the output
update CustomerIncome set K = 'k1', L = 'l1' where ID = '10010';
insert CustomerIncome(ID, K, L) values ('10010', 'k1', 'l1');
if exists (select * from CustomerIncome where id = '10010')
update CustomerIncome set K = 'k1', L = 'l1' where ID = '10010';
else
insert CustomerIncome(ID, K, L) values ('10010', 'k1', 'l1');
references:
https://dotnetfiddle.net/uiFWXo
How to get the list of key in dictionary
C# - Dictionary join keys or join Values的更多相关文章
- c#从基础学起string.Join(",", keys.ToArray())
总感觉自己工作6年了,经验丰富.直到近期报了一个.net进阶班才知道.我还差得很远.就拿string.join对比 我的代码: public static int InsertModel<T&g ...
- Linq表连接大全(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
我们知道在SQL中一共有五种JOIN操作:INNER JOIN.LEFT OUTER JOIN.RIGHT OUTER JOIN.FULL OUTER JOIN.CROSS JOIN 1>先创建 ...
- ql语句中left join和inner join中的on与where的区别分析
sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用到 ...
- sql语句中left join和inner join中的on与where的区别分析
关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用到ON和WHERE的条件查询,以前用的时候有时是凭感觉的,总是没有搞清楚,今日亲自测试了下 ...
- 多表连接的三种方式详解 hash join、merge join、 nested loop
在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式.多表之间的连接有三种方式:Nested Loops,Hash Join 和 Sort Merge Join.具体适用哪 ...
- INNER JOIN与LEFT JOIN在SQL Server的性能
我创建了INNER JOIN 9桌,反正需要很长的(超过五分钟).所以,我的民歌改变INNER JOIN来LEFT JOIN LEFT JOIN的性能较好,在首次尽管我所知道的.之后我变了,查询的速度 ...
- MySQL连接查询(inner join,left join和right join的区别)
关系数据库由多个相关表组成,这些表使用已知为外键列的常用列链接在一起. 因此,从业务角度来看,每个表中的数据是不完整的. 例如,在示例数据库(yiibaidb)中,使用orderNumber列链接的o ...
- Sql server left join,right join和inner join的比较
转载于:http://www.2cto.com/database/201206/137067.html Sql server left join,right join和inner join的比较 ...
- Mysql之inner join,left join,right join详解
首先借用官方的解释下: inner join(等值连接):只返回两个表中联结字段相等的行: left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录: right join(右 ...
随机推荐
- CSDN开源夏令营 百度数据可视化实践 ECharts(8)问题分析
ECharts问题描写叙述: 问题就是折线图上的点是显示的,有人问能不能一開始不显示,当你点击的时候或者是当鼠标移动到上面的时候,折线上的点才显示? 例如以下图所看到的: 分析:让折线上的点不显示能够 ...
- 怎样让你的安卓手机瞬间变Firefox os 畅玩firefox os 应用
Firefox os 手机迟迟不能在国内大面积上市.如今能买到的Firefox os手机国内就一款Firefox os ZET OPEN C ,但这款手机配置确实还不如人意.价格方面也不实惠,对于我们 ...
- 《Linux设备驱动开发具体解释(第3版)》进展同步更新
本博实时更新<Linux设备驱动开发具体解释(第3版)>的最新进展. 2015.2.26 差点儿完毕初稿. 本书已经rebase到开发中的Linux 4.0内核,案例多数基于多核CORTE ...
- The Swift Programming Language 中国版
iSwifting社会的 Swift 兴趣交流群:303868520 iOS 微信公众账号:iOSDevTip Swift 微信公众账号:SwiftDev iSwifting社区 假设你认为这个项目不 ...
- Ubuntu 14.4 使用中遇到的问题汇总
1.java程序字体问题. 基本的原因是openjdk的缘故 下载最新的jdk安装,地址:http://www.oracle.com/technetwork/java/javase/downloads ...
- HDU2586 How far away ?(LCA模板题)
题目链接:传送门 题意: 给定一棵树,求两个点之间的距离. 分析: LCA 的模板题目 ans = dis[u]+dis[v] - 2*dis[lca(u,v)]; 在线算法:详细解说 传送门 代码例 ...
- POJ 2533-Longest Ordered Subsequence(DP)
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 34454 Acc ...
- const使用摘要
const在四种方案如以下: int b = 500; const int *a = &b; ①(底层const) int const *a = &b; ②(底层const) int ...
- Linux/Unix使用valgrind内存泄漏检测
c\c++程序设计.内存管理是一个比较头疼的问题.相信它会导致内存泄漏.除了外部养成良好的编程习惯(使用智能指针),使用该工具还可以帮助检测内存泄漏,valgrind这是Unix\Linux在一个很好 ...
- 局域网连接SQL Server数据库配置
首先要保证两台机器位于同一局域网内,然后打开配置工具→SQL Server配置管理器进行配置.将MSSQLSERVER的协议的TCP/IP的(IP1.IP2)TCPport改为1433,已启用改为是. ...