问题列表 - 第2699页

具有LIKE和IN条件的参数化查询

.Net中的参数化查询在示例中总是如下所示:

SqlCommand comm = new SqlCommand(@"
   SELECT * 
   FROM   Products 
   WHERE  Category_ID = @categoryid
", 
   conn);
comm.Parameters.Add("@categoryid", SqlDbType.Int);
comm.Parameters["@categoryid"].Value = CategoryID;
Run Code Online (Sandbox Code Playgroud)

但是我碰到了一堵砖墙试图做到以下几点:

SqlCommand comm = new SqlCommand(@"
   SELECT * 
   FROM   Products 
   WHERE  Category_ID IN (@categoryids) 
      OR  name LIKE '%@name%'
", 
   conn);
comm.Parameters.Add("@categoryids", SqlDbType.Int);
comm.Parameters["@categoryids"].Value = CategoryIDs;
comm.Parameters.Add("@name", SqlDbType.Int);
comm.Parameters["@name"].Value = Name;
Run Code Online (Sandbox Code Playgroud)

哪里

  • CategoryID是以逗号分隔的数字列表"123,456,789"(不带引号)
  • Name是一个字符串,可能带有单引号和其他错误字符

什么是正确的语法?

.net sql parameters sql-injection parameterized

47
推荐指数
3
解决办法
3万
查看次数

如何将中文字符插入SQLExpress文本字段?

如何将中文字符插入SQLExpress文本字段?我正在使用VS 2008中的SQL Express.当我添加中文字符时,无论是通过我编写的导入应用程序还是从Visual Studio中的数据视图中粘贴它们,它们最终都会成为问号.

full-text-search character-encoding cjk sql-server-express

9
推荐指数
2
解决办法
2万
查看次数

为SqlServer查找表使用tinyint而不是int是否值得?

在SqlServer 2005中设计查找表(枚举)时,如果你知道条目的数量永远不会很高,你应该使用tinyint而不是int吗?我最关心的是性能,特别是索引的效率.

假设您有这些代表性表格:

Person
------
PersonId int  (PK)
PersonTypeId tinyint  (FK to PersonTypes)
Run Code Online (Sandbox Code Playgroud)

PersonTypes
-----------
PersonTypeId tinyint
PersonTypeName varchar(50)
Run Code Online (Sandbox Code Playgroud)

显而易见的因素是数据大小和编码麻烦.当我们在person表中获得1亿行时,我们使用tinyint而不是int存储3亿个字节,加上索引占用的空间.不是大量的数据,但如果将设计决策应用于数十个大表,则意义重大.当然,编码麻烦来自ASP.NET C#/ VB代码中的所有那些转换问题.

如果我们搁置这两个问题,还有什么可以发挥作用?由于索引页面的大小减小,查询会更有效吗?或者是否存在某种填充,只会否定其好处?还有其他陷阱吗?

我一直只是个人使用,但我正在考虑在一些巨大的桌子上进行重新设计/迁移工作的tinyint,所以我很想得到一些建议.

[编辑]

在尝试了这个之后,我预期的编码麻烦结果证明是无问题的.从int更改为tinyint并没有导致任何铸造问题.

sql sql-server database-design

20
推荐指数
1
解决办法
6580
查看次数

Nullable <T>:和重载运算符,bool?&bool

  1. 为什么运算符'&'为bool定义?,运算符'&&'不是?
  2. 这个怎么样?)bool?&bool?和2)布尔?和布尔工作?

Nullable上任何其他"有趣"的运算符语义?通用T的任何重载运算符?

c# nullable

6
推荐指数
1
解决办法
2049
查看次数

如何删除/删除Python不为空的文件夹?

当我尝试删除非空文件夹时,我收到"访问被拒绝"错误.我在尝试中使用了以下命令:os.remove("/folder_name").

删除/删除非空文件夹/目录的最有效方法是什么?

python file

790
推荐指数
11
解决办法
59万
查看次数

35
推荐指数
1
解决办法
6万
查看次数

如何在Perl中打破循环?

我试图breakfor循环中使用一个语句,但由于我在Perl代码中也使用严格的subs,我收到一个错误说:

在./final.pl第154行使用"严格潜艇"时不允许使用Bareword"break".

有没有解决方法(除了禁用严格的潜艇)?

我的代码格式如下:

for my $entry (@array){
    if ($string eq "text"){
         break;
    }
}
Run Code Online (Sandbox Code Playgroud)

perl loops strict break

291
推荐指数
4
解决办法
55万
查看次数

如何将ArrayList绑定到Oracle中的PreparedStatement?

我想知道是否有办法将ArrayList(或任何类型的List)绑定到PreparedStatement,最终将用于访问Oracle数据库.我发现:

PreparedStatement IN子句替代?

这看起来与我的问题类似,但这个问题更具体:我想将一个ArrayList绑定到要在Oracle中使用的PreparedStatement,如果可能的话,这是如何实现的?

java oracle jdbc arraylist prepared-statement

5
推荐指数
1
解决办法
2万
查看次数

GIS编程概述

这个网站上有多少程序员使用GIS?

你使用什么中间件?ESRI?MapGuide的?谷歌?

你在做什么样的项目?您是专注于Web工作,制作桌面应用程序还是Intranet项目?你在哪个行业工作?

gis google-maps survey esri osgeo

37
推荐指数
2
解决办法
6399
查看次数

LINQ to SQL - ForeignKey中的Nullable INT ="无法创建关联..."

我有一个表有一个INT的主键...我有另一个表,与第一个表有一个外键关系,但它是一个NULLABLE INT.

这是完全可以的,并且100%可以接受SQL ...但是LINQ to SQL抱怨不匹配的类型("int to Nullable [int]").

错误消息:无法创建关联"Store_People".属性没有匹配的类型:"PersonID","ID".

我如何解决这个问题,以便设计师不再对SQL的正确使用率100%大喊大叫?

foreign-keys associations linq-to-sql

9
推荐指数
2
解决办法
7577
查看次数