.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)
哪里
什么是正确的语法?
如何将中文字符插入SQLExpress文本字段?我正在使用VS 2008中的SQL Express.当我添加中文字符时,无论是通过我编写的导入应用程序还是从Visual Studio中的数据视图中粘贴它们,它们最终都会成为问号.
在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并没有导致任何铸造问题.
Nullable上任何其他"有趣"的运算符语义?通用T的任何重载运算符?
当我尝试删除非空文件夹时,我收到"访问被拒绝"错误.我在尝试中使用了以下命令:os.remove("/folder_name").
删除/删除非空文件夹/目录的最有效方法是什么?
如何在Visual Basic中创建一个包含可选参数的方法?
我试图break在for循环中使用一个语句,但由于我在Perl代码中也使用严格的subs,我收到一个错误说:
在./final.pl第154行使用"严格潜艇"时不允许使用Bareword"break".
有没有解决方法(除了禁用严格的潜艇)?
我的代码格式如下:
for my $entry (@array){
if ($string eq "text"){
break;
}
}
Run Code Online (Sandbox Code Playgroud) 我想知道是否有办法将ArrayList(或任何类型的List)绑定到PreparedStatement,最终将用于访问Oracle数据库.我发现:
这看起来与我的问题类似,但这个问题更具体:我想将一个ArrayList绑定到要在Oracle中使用的PreparedStatement,如果可能的话,这是如何实现的?
这个网站上有多少程序员使用GIS?
你使用什么中间件?ESRI?MapGuide的?谷歌?
你在做什么样的项目?您是专注于Web工作,制作桌面应用程序还是Intranet项目?你在哪个行业工作?
我有一个表有一个INT的主键...我有另一个表,与第一个表有一个外键关系,但它是一个NULLABLE INT.
这是完全可以的,并且100%可以接受SQL ...但是LINQ to SQL抱怨不匹配的类型("int to Nullable [int]").
错误消息:无法创建关联"Store_People".属性没有匹配的类型:"PersonID","ID".
我如何解决这个问题,以便设计师不再对SQL的正确使用率100%大喊大叫?
parameters ×2
sql ×2
.net ×1
arraylist ×1
associations ×1
break ×1
c# ×1
cjk ×1
esri ×1
file ×1
foreign-keys ×1
gis ×1
google-maps ×1
java ×1
jdbc ×1
linq-to-sql ×1
loops ×1
nullable ×1
oracle ×1
osgeo ×1
perl ×1
python ×1
sql-server ×1
strict ×1
survey ×1
vb.net ×1