C#中linq报“Character literal must contain exactly one character”的错误提示
后台代码使用linq提示“Character literal must contain exactly one character”:
网上看了一下提示在部分linq语句中直接写入值会进行逻辑处理,导致数据类型不一致。尝试修改以后解决了问题,再次备注一下.
修改前(报错)的代码:
T_DS_ORDER_OPRATIONDAL LoadDal = new T_DS_ORDER_OPRATIONDAL();
try
{
Loadlist = getsavelist(dt, loginUser);
//删除未提交的数据
LoadDal.Delete("status=0 and lastupdateuserid = '" + loginUser.UserId.Trim() + "'"); //这句为报错行
修改(正确)的代码:
T_DS_ORDER_OPRATIONDAL LoadDal = new T_DS_ORDER_OPRATIONDAL();
try
{
Loadlist = getsavelist(dt, loginUser);
//删除未提交的数据
//LoadDal.Delete("status=0 and lastupdateuserid = '" + loginUser.UserId.Trim() + "'"); //报错行
LoadDal.Delete("status=0 and lastupdateuserid = \"" + loginUser.UserId.Trim() + "\"");
报错是因为拼接出来的sql语句进行C#处理以后,实际'“ + loginUser.UserId.Trim() + "'"的值的类型变了,如实际结果是‘123’,在sql里边这个是字符串类型,但是经过C#处理后,这个就变成字符型,而数据库里边定义的lastupdateuserid这个字段是字符串类型的,所以进行处理的时候就会报错,在C#中‘’表示字符,“”才表示字符串,所以把之前的单引号换成双引号就可以了,换成双引号以后经过C#处理得到就是字符串类型,和数据库里边的类型匹配。
提示:此类语句在编译时可正常通过,只有运行时才会报错
C#中linq报“Character literal must contain exactly one character”的错误提示的更多相关文章
- Character literal must contain exactly one character -- 一天一点小知识
编程语言高度抽象化以后,错误也越来越让人难以理解了, NET编程最常见的一个错误, Object not set to the reference ,过了好久,才明白过来, 就是不明白为啥微软不说 ...
- 当尝试从ArcCatalog、.net应用或是Java应用中连接ArcGIS Server 时,显示下面任何一种错误提示: "Access Denied" 或 "The connection could not be made"
Error: 访问拒绝或无法连接错误 文章编号 : 29042 软件: ArcGIS Server 9.0, 9.1, 9.2, 9.3, 9.3.1 操作系统: Windows 2000, XP, ...
- 在vscode中使用pylint-django插件解决pylint的一些不必要的错误提示【转】
转自:http://www.cnblogs.com/chaojihexiang/p/6417835.html 微软的vscode编辑器是一个好东西,通过vscode编辑python程序非常的方便.推荐 ...
- day1 UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 2490: illegal multibyte sequence 错误提示
get方式得到网页的信息 #coding=utf-8 #pip install requests #直接get到网页的信息 import requests from bs4 import Beauti ...
- 对于搭建网站中出现“You don't have permission to access this resource.”错误提示的解决思路
我是用的是树莓派搭载了ubuntu系统 配置php+apache的网站环境,但在登陆网站进行网站初始化设置时出现错误提示,其大意是没有访问权限,上网搜索了一系列相关教程,都说明对apache2.con ...
- java中too many characters in character literal
IDE里发现 too many characters in character literal 翻译过来就是 字符中的字符过多 , 一般情况是:把 多个文字 放在了 '' (单引号)里,应该放到 &q ...
- POSTGRESQL中ERROR: recursive query "t" column 2 has type character varying(150) in non-recursive term but type character varying overall
最近在做项目的时候有个需求是需要查到当前登录的用户下辖所有区域的数据,并将查询出来的部门信息以如下格式展示 最高人民法院>江苏省高级人民法院>南通市中级人民法院最高人民法院>江苏省高 ...
- VS2008项目使用VS2015打开时,出现错误: error CS1012: Too many characters in character literal
VS2008项目使用VS2015打开时,出现错误: error CS1012: Too many characters in character literal ------------------- ...
- Python3 报错'latin-1' codec can't encode character 解决方案
Python3 报错'latin-1' codec can't encode character 解决方案 在更新数据库操作时,报错: UnicodeEncodeError: 'latin-1' co ...
随机推荐
- SDN 编程语言 p4(SDN programming language P4)
行业趋势,SND是未来. P4 是未来. SDN is inevitably, and P4 is inevitably. P4 = Programming Protocol-Independent ...
- getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()的作用
getCacheDir()方法用于获取/data/data/<application package>/cache目录 getFilesDir()方法用于获取/data/data/< ...
- HDU1963 && POJ2063:Investment(完全背包)
Problem Description John never knew he had a grand-uncle, until he received the notary’s letter. He ...
- win8.1 安装webaccess遇到的写访问权限错误
大学的时候闲暇时间都用来玩游戏了,现在工作了,就把工作中遇到的问题和学习心得跟大家共享下,若有不对的地方欢迎指出,谢谢! 前几天突然想换用vs2013开发,就重装了win8.1系统,在新系统上安装we ...
- Ghost Button制作教程及设计趋势分析
概述:Ghost Button(虚拟按钮)是网页设计中一个非常实用的按钮样式,特别是图片背景中,有出色的效果.今天我们一起来研究Ghost Button的各种效果的制作方法,并对Ghost Butto ...
- sql两表联合查询
SELECT yt_fault_componentId FROM yt_fault_component a join yt_fault_assembly b on a.yt_fault_assembl ...
- localhost简介、localhost与 127.0.0.1 及 本机IP 的区别
localhost是什么意思? 相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析. 看来这个入门问题还有人不清楚,其实这两者是有区别的. localhos ...
- javascript中this指针的认识
javascript中上下文环境就是this指针,即被调用函数所处的环境.这个上下文环境在大多数情况下指的是函数运行时封装这个函数的那个对象:当不通过任何对象单独调用一个函数时,上下文环境指的就是全局 ...
- html mysql special character
function html_encode(str) { var s = ""; if (str.length == 0) return ""; s = str. ...
- Ie浏览器TextBox文本未居中
Ie浏览器TextBox文本未居中,而其他浏览器无问题时,可能原因是未设置垂直居中 vertical-align:middle