CRM中查询数据时当字段为空的时候会抛出异常—“给定关键字不在字典中”

问题描述

代码如下:publicclassWebService1:System.Web.Services.WebService{staticprivateIOrganizationServiceGetOrganisationService(){ClientCredentialscredentials=newClientCredentials();credentials.Windows.ClientCredential=newNetworkCredential("admin","123456","");OrganizationServiceProxyproxy=newOrganizationServiceProxy(newUri("http://193.169.1.123/CRMAPP/XRMServices/2011/Organization.svc"),null,credentials,null);returnproxyasIOrganizationService;}[WebMethod]publicstringHelloWorld(){IOrganizationServiceservice=GetOrganisationService();string[]param=newstring[]{"lucky_name","lucky_baifangriqishijian","lucky_baifangrenyuanxingming","lucky_dizhi"};Entityresult=service.Retrieve("lucky_lead",newGuid("15158db1-9909-e511-80be-00155d018102"),newColumnSet(param));Stringname="";try{name=result.Attributes["lucky_baifangriqishijian"].ToString()+result.Attributes["lucky_baifangrenyuanxingming"].ToString()+result.Attributes["lucky_dizhi"].ToString()+result.Attributes["lucky_name"].ToString();}catch{name="NO";}returnname;}}

解决方案

解决方案二:
使用result.Attributes["lucky_baifangriqishijian"].ToString()前需要先判断result是否为null,在判断result.Attributes["lucky_baifangriqishijian"]是否为Null,最后再使用toString()。仅供参考。
解决方案三:
先判断下Attributes[""]是否为null,再执行ToString吧或者写个funcvarattr=result.Attributes;Func<string,string>func=(key)=>{if(attr[key]==null){returnstring.Empty;}returnattr[key].ToString();};name=func("lucky_baifangriqishijian")+func("lucky_baifangrenyuanxingming")

解决方案四:
每个字段都需要做判断么?
解决方案五:
而且根本不行,还是报错—“给定关键字不在字典中”
解决方案六:
result.Attributes是字典吧?试一下if(result.Attributes.ContainsKey(key)){result.Attributes.ContainsKey[key]....你的操作}else{给予提示或者警告}

时间: 2024-12-31 18:15:06

CRM中查询数据时当字段为空的时候会抛出异常—“给定关键字不在字典中”的相关文章

方法-请大家帮忙困扰我2天了,KeyNotFoundException: 给定关键字不在字典中。

问题描述 请大家帮忙困扰我2天了,KeyNotFoundException: 给定关键字不在字典中. 我这个是WebService读取服务器上的mySql数据库,增删改都没问题,唯独读取数据就不行,代码到Fill方法时就报这个异常:KeyNotFoundException: 给定关键字不在字典中.以下是代码:MySqlDataAdapter adapter = new MySqlDataAdapter(); adapter.SelectCommand = cmd; DataSet ds = ne

给定关键字不在字典中 求高手解决 在线等

问题描述 "/"应用程序中的服务器错误.给定关键字不在字典中.说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.Collections.Generic.KeyNotFoundException:给定关键字不在字典中.源错误:执行当前Web请求期间生成了为处理的异常.可以使用下面的异常堆栈跟着总信息确定有关异常原因和发生位置.堆栈跟踪:[KeyNotFoundException:给定关键字不

急~~~~ 使用using Microsoft.Office.Interop.Excel 给定关键字不在字典中

问题描述 asp.net项目里面使用usingMicrosoft.Office.Interop.Excel组件做报表导出的使用报给定关键字不在字典中~~~~本地测试没有问题,上传到服务器上后报这个异常注:2008版本服务器麻烦各位帮忙看看,小弟先谢谢了///<summary>///DataSet导出Excel///</summary>///<paramname="page">页面对象</param>///<paramname=&qu

SQL Compare 错误 给定关键字不在字典中

今天打算用SQL Compare同步两个不同的数据库的时候,发现他提示"给定关键字不在字典中".如图一所示 图一     百度了一下,竟然没有答案..Google了好多英文网站,也无解.....郁闷啊... 这两个数据库都是比较新的,我用一个旧的数据库跟这个新的比较,发现竟然可以比较.但是两个比较新的数据库就是死活比较不了.后面,想起来,我曾经改动过数据库的权限设置. 这样就有了思路了.看看SQL Compare里面关于权限的设置项,还真让我给找到了.如图2 图二   这样,就设置完成

给定关键字不在字典中。

问题描述 在中连接出现这个问题,连接字符串在配置文件中,已经测试连接没有问题,更新数据也正常,就是查询是出现这个问题.如何解决?stringstrConn=System.Configuration.ConfigurationSettings.AppSettings["MySqlStr"].ToString();MySqlConnectionconn=newMySqlConnection(strConn);try{conn.Open();MySqlDataAdaptersda=newMy

java-当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码?

问题描述 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 怎么才能解决问题,跟jdbc driver Manager的设置有关系吗? 解决方案 数据库字符集 与 页面编码 都使得 是 uft-8?得统一 解决方案二: 建议编码格式采用UTF-8的格式 解决方案三: 在使用数据的每一个节点上,其编码方式必须要一致否则就会出现乱码.特别是使用MySQL时,客户端,连接器.数据库

c# 从oracle中查询数据,设置时间参数问题,在线等

问题描述 c# 从oracle中查询数据,设置时间参数问题,在线等 各位大神,小弟刚接触c#时间不长,写了个程序,从界面上datatimepicker中取出时间,然后在c#代码的sql语句中设置时间参数,无论怎么设置要不就查不到数据,要不就是时间格式设置的不对,下面是代码 public DataTable QueryUsedMaterial(string classgroup, string beginTime, string endTime) { string sql_QueryMateria

sqlite删除数据库中的数据时偶尔会出现错误

问题描述 sqlite删除数据库中的数据时偶尔会出现错误 java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed. 求助,connection pool 是啥啊,求大神指教. 解决方案 如果确定不是连接被关闭,那还有可能就是多线程访问sqlite,sqlite数据库是单线程操作的,那么当N多个Thread同时调用的时候,可能报这错误.这也就

resultmap-用mybaits的resultMap查询数据时,为什么只能返库的最后一条数据

问题描述 用mybaits的resultMap查询数据时,为什么只能返库的最后一条数据 select tb_item.* tb_item_pic.id as itemPic_id tb_item_pic.item_id tb_item_pic.url from tb_item tb_item_pic where tb_item.id=tb_item_pic.item_id and tb_item.id in open=""("" separator="&q