如何参数化包含IN具有可变数量参数的子句的查询,比如这个?
SELECT * FROM Tags
WHERE Name IN ('ruby','rails','scruffy','rubyonrails')
ORDER BY Count DESC
Run Code Online (Sandbox Code Playgroud)
在此查询中,参数的数量可以是1到5之间的任何值.
我不希望为此(或XML)使用专用存储过程,但如果有一些特定于SQL Server 2008的优雅方式,我对此持开放态度.
我有以下枚举:
public enum AuthenticationMethod
{
FORMS = 1,
WINDOWSAUTHENTICATION = 2,
SINGLESIGNON = 3
}
Run Code Online (Sandbox Code Playgroud)
然而问题是,当我要求AuthenticationMethod.FORMS而不是id 1时,我需要"FORMS"这个词.
我找到了以下解决此问题的方法(链接):
首先,我需要创建一个名为"StringValue"的自定义属性:
public class StringValue : System.Attribute
{
private readonly string _value;
public StringValue(string value)
{
_value = value;
}
public string Value
{
get { return _value; }
}
}
Run Code Online (Sandbox Code Playgroud)
然后我可以将此属性添加到我的枚举器:
public enum AuthenticationMethod
{
[StringValue("FORMS")]
FORMS = 1,
[StringValue("WINDOWS")]
WINDOWSAUTHENTICATION = 2,
[StringValue("SSO")]
SINGLESIGNON = 3
}
Run Code Online (Sandbox Code Playgroud)
当然我需要一些东西来检索StringValue:
public static class StringEnum
{
public static string GetStringValue(Enum value)
{ …Run Code Online (Sandbox Code Playgroud) 我想从我的所有数据库存储过程中搜索文本.我使用下面的SQL:
SELECT DISTINCT
o.name AS Object_Name,
o.type_desc
FROM sys.sql_modules m
INNER JOIN
sys.objects o
ON m.object_id = o.object_id
WHERE m.definition Like '%[ABD]%';
Run Code Online (Sandbox Code Playgroud)
我想[ABD]在所有存储过程中搜索包括方括号,但它没有给出正确的结果.如何更改查询以实现此目的?
我有一个StreamReader用流初始化的对象,现在我想将此流保存到磁盘(流可以是.gif或.jpg或.pdf).
现有守则:
StreamReader sr = new StreamReader(myOtherObject.InputStream);
Run Code Online (Sandbox Code Playgroud)
我也有编码类型,如果我将它存储到SQL Server,我将需要,对吗?
eval函数是一种动态生成代码的强大而简单的方法,那么有什么警告呢?
我从HTTP调用中获取大量HTML代码.我将HTML块放在一个变量中并使用[innerHTML]将其插入到我的页面中,但我无法设置插入的HTML块的样式.有没有人有任何建议如何实现这一目标?
@Component({selector: 'calendar',
template: '<div [innerHTML]="calendar"></div>',
providers:[HomeService],
styles: [`
h3 {color:red;}
`})
Run Code Online (Sandbox Code Playgroud)
我想要设置样式的HTML是变量"calendar"中包含的块.
在我的MVC3项目中,我存储了足球/足球/曲棍球/ ...运动游戏的得分预测.所以我的预测类的一个属性看起来像这样:
[Range(0, 15, ErrorMessage = "Can only be between 0 .. 15")]
[StringLength(2, ErrorMessage = "Max 2 digits")]
[Remote("PredictionOK", "Predict", ErrorMessage = "Prediction can only be a number in range 0 .. 15")]
public int? HomeTeamPrediction { get; set; }
Run Code Online (Sandbox Code Playgroud)
现在,int在我的情况下,我还需要更改数据类型的错误消息.使用了一些默认值 - "HomeTeamPrediction字段必须是数字.".需要找到一种方法来更改此错误消息.此验证消息似乎也对远程验证进行了预测.
我已尝试过[DataType]属性但这在system.componentmodel.dataannotations.datatype枚举中似乎不是普通数字.
它正在以这种方式工作
<td align="center">
Run Code Online (Sandbox Code Playgroud)
但我想使用CSS类.
我这样定义了类,但没有运气
td
{
vertical-align: middle;
text-align: center;
margin-left: auto;
margin-right: auto;
align: center;
}
Run Code Online (Sandbox Code Playgroud)
垂直对齐正在工作,文本对齐适用于文本.但它并没有以这种方式将div与div内部对齐.我想在td内对齐div.
在我的存储过程中,我在我的过程之上声明了两个表变量.现在我试图在动态sql语句中使用该表变量,但是在执行该过程时出现此错误.我正在使用Sql Server 2008.
这是我的查询的样子,
set @col_name = 'Assoc_Item_'
+ Convert(nvarchar(2), @curr_row1);
set @sqlstat = 'update @RelPro set '
+ @col_name
+ ' = (Select relsku From @TSku Where tid = '
+ Convert(nvarchar(2), @curr_row1) + ') Where RowID = '
+ Convert(nvarchar(2), @curr_row);
Exec(@sqlstat);
Run Code Online (Sandbox Code Playgroud)
我得到以下错误,
必须声明表变量"@RelPro".必须声明表变量"@TSku".
我试图在动态查询的字符串块之外取表,但无济于事.
c# ×3
sql ×3
sql-server ×3
.net ×2
alignment ×1
angular ×1
asp.net-mvc ×1
center ×1
cryptography ×1
dynamic-sql ×1
encryption ×1
enums ×1
eval ×1
html ×1
html-table ×1
innerhtml ×1
javascript ×1
mono ×1
parameters ×1
security ×1
stream ×1