我有一个SQL查询字符串,如下所示:
DECLARE @sql varchar(max)
SET @sql = ' INSERT INTO ' + @tempTable1 +
' SELECT 0 as Type1, 0 as Type2, ' +
'''' + @name + ''' as CompanyName ' +
' FROM #tempTable2 tt2'
Run Code Online (Sandbox Code Playgroud)
查询运行正常,除了恰好包含单引号的两个名称(例如:Pete's Corner).当这些名称中的任何一个成为查询的一部分时,它会破坏查询字符串.我认为最简单的方法是替换单引号,如替换(@name,'''',''),但它不起作用,因为我已经在一个字符串中,所以它影响其余的该声明.不幸的是,改变表本身并不是一种选择.
如何更换或删除这些单引号?
另外:我道歉,我没有包含@name实际上是通过连接从另一个数据库表填充的部分,因此在创建字符串之前设置@name的值我认为对我来说很难.
我有一个List<KeyValuePair<int,string>>返回列表的方法; 但是,我收到一个错误:
无法将源类型转换
System.Collections.Generic.List<{Key:int, Value:string}>为目标类型System.Collections.Generic.KeyValuePair<'int,string'>>.
我正在尝试将Linq select语句转换为新列表,但我不明白初始化列表是否存在问题,或者我是如何获取Linq语句中的值的.
这是方法:
public static List<KeyValuePair<int,string>> GetStatus(int status)
{
List<KeyValuePair<int,string>> st = SelectList.GetStatuses();
List<KeyValuePair<int,string>> tp;
switch(status)
{
case (int)Status.Completed:
tp = st.Where(s => s.Key == (int)Status.Completed ||
s.Key == (int)Status.NotValid)
.Select(s => new { s.Key, s.Value }).ToList();
case (int)Status.Open:
tp = st.Where(s => s.Key == (int)Status.Open ||
s.Key == (int)Status.Reviewed)
.Select(s => new { s.Key, s.Value }).ToList();
default:
break;
}
return tp;
}
Run Code Online (Sandbox Code Playgroud)
这是填充列表的方法:
public static List<KeyValuePair<int, string>> GetStatuses()
{ …Run Code Online (Sandbox Code Playgroud) 大家好,并提前感谢,我对如何使用where子句与我需要执行的条件语句感到困惑.我有两个信息网格,一个网格依赖于另一个网格来确定什么显示.在第一个网格中,日期字段可以是日期,也可以说是从不.
第一个网格的数据是这样的:
ID Date Title
--- ----- ------
12 Never Home
13 Never School
14 Never Work
Run Code Online (Sandbox Code Playgroud)
第二个网格只显示三个中的一行,具体取决于Date字段的值,在本例中它应该是:
ID Date Title
--- ----- ------
12 Never Home
Run Code Online (Sandbox Code Playgroud)
此信息被拉入我想要使用LINQ迭代的List中.我想要实现的是:
If(All Date values == 'Never')
Then pull the first one (12)
else
if(Date has value)
then pull the first that has a date
myList.Where(??what goes here??).Select(t => t).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud) 我有一个列表,我试图从另一个列表中填充,我想要结合一些数据,并消除一些.
在原始列表中,数据如下所示:
Id Text Description
1 Apple Red Delicious
1 Apple Green
1 Apple Granny
2 Tomato Roma
2 Tomato Cherry
Run Code Online (Sandbox Code Playgroud)
我想在第二个列表中压缩此信息,如下所示:
Id Text Description
1 Apple Red Delicious, Green, Granny
2 Tomato Roma, Cherry
Run Code Online (Sandbox Code Playgroud)
我的类对象声明如下:
[Serializable]
public class Food
{
public int Id { get;set; }
public string Text { get;set; }
public string Description { get;set; }
}
Run Code Online (Sandbox Code Playgroud)
所以我想循环遍历旧列表,这就是我在代码中尝试这样做的方式:
var ids = oldList.Select(i => i.Id).Distinct(); //get distinct list of ids (e.g. 1,2)
List<Food> newList = ids.Select(i => new …Run Code Online (Sandbox Code Playgroud)