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 ...
随机推荐
- wpf中的触发器详解
原文 http://zwkufo.blog.163.com/blog/static/25882512009724113250883/ 7.1.2 简单逻辑的表示--触发器(1) 在本章的多处介绍中都会 ...
- 运用JavaScript构建你的第一个Metro式应用程序(onWindows 8)(三)
原文 http://blog.csdn.net/zhangxin09/article/details/6793593 这是<运用 JavaScript构建你的第一个Metro式应用程序>系 ...
- Java学习疑惑(8)----可视化编程, 对Java中事件驱动模型的理解
我们编写程序就是为了方便用户使用, 我觉得UI设计的核心就是简洁, 操作过于繁琐的程序让很大一部分用户敬而远之. 即使功能强大, 但是人们更愿意使用易于操作的软件. 近年流行起来的操作手势和逐渐趋于成 ...
- Apriori算法
APRIORI Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集.而且算法已经被广泛的应用到商业.网络安全等各个领域. Apri ...
- poj2389---大数乘法
#include<stdlib.h> #include<stdio.h> #include<string.h> #define MAX 100 int main() ...
- lucene定义自己的分词器将其分成单个字符
问题描写叙述:将一句话拆分成单个字符.而且去掉空格. package com.mylucene; import java.io.IOException; import java.io.Reader; ...
- Objective-C中的@dynamic
一.@dynamic与@synthesize的区别 @property有两个对应的词,一个是@synthesize,一个是@dynamic.如果@synthesize和@dynamic都没写,那么默认 ...
- wxWidgets刚開始学习的人导引(2)——下载、安装wxWidgets
wxWidgets刚開始学习的人导引全目录 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxS ...
- HTML5 新增通用属性
一:HTML5保留的常用元素 7. 表格相关元素.表格在html里还算重要的了. <table> :用于表格定义. cellpadding: 单元格内容和单元格边框距离 ...
- JavaScript之共享onload
我们知道,当我们将JS代码脚本放到<head></head>标签之间时,这是的js代码加载要先于DOM加载,而我们往往会在JS代码脚本中写一些获取DOM元素的代码,而此时的DO ...