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(右 ...
随机推荐
- CSS背景图拉伸自适应尺寸
.bg{ background:url(images/test.jpg); filter:"progid:DXImageTransform.Microsoft.AlphaImageLoade ...
- 【Android】应用启动画面
几乎所有的Android应用程序都会有一个启动画面,展示自己的LOGO,本版信息,或者更人性化一点的,在很长的加载信息中,变换一些显示的文字等,让无聊的等待时间添加点调味剂. 具体实现来说,应该创建一 ...
- 内网port映射具体解释(花生壳)
关于怎样建立服务器的解答. 一.花生壳的作用 首先,我们先来了解一下花生壳的究竟有什么作用.由于ADSL每次拨号上网所获得的IP地址每次都是不同的,花生壳起到的作用就是方便用户訪问我们的server( ...
- 经常使用的js小方法
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <% Strin ...
- SQL注入问题
斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处! 背景:对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义 ...
- Chromium
Chromium多进程架构 多进程架构 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//Start_Here_Bac ...
- 【iOS】彩虹渐变色 的 Swift 实现
首先很感谢大家的支持与关注.<Web Color 的 Swfit 实现>一文一经公布.訪问量迅速攀升,让本人受宠若惊. 为表达感激之情,今天早上把彩虹渐变也顺手实现了. 最新代码& ...
- wireshark教程
Wireshark世界上最流行的网络分析工具. 这个强大的工具能够捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与非常多其它网络工具一样.Wireshark也使用pcap network ...
- 【POJ1741】Tree 树分而治之 模板略?
做广告: #include <stdio.h> int main() { puts("转载请注明出处[vmurder]谢谢"); puts("网址:blog. ...
- Java中动态代理技术生成的类与原始类的区别
用动态代理的时候,对它新生成的类长什么样子感到好奇.有幸通过一些资料消除了心里的疑惑. 平时工作使用的Spring框架里面有一个AOP(面向切面)的机制,只知道它是把类重新生成了一遍,在切面上加上了后 ...