我正在尝试一些基本的东西,发现OracleParameter似乎没有像C#中那样绑定
在我的示例<Grid Name="grid1" Height="100"/>
<ItemsControl>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.Triggers>
<EventTrigger RoutedEvent="Grid.MouseDown">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="grid1"
Storyboard.TargetProperty="Height"
From="100"
To="60"
Duration="0:0:5">
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Grid.Triggers>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
中使用count of USERID
时,参数似乎没有绑定。查询运行但不会返回任何行。但是当使用辅助选项OracleParameter
时,事情就像假设一样。
有什么想法吗?
CaseLocalId
答案 0 :(得分:2)
':CaseLocalId'
是文字 ':CaseLocalId'
- 即由冒号,C,a等组成的字符串...不是参数的值;你可能意味着:
nvl(:CaseLocalId,'%')
'{CaseLocalId}'
在接近ADO.NET图层之前在C#中执行字符串注入,并且不使用参数;它是一个SQL注入漏洞 - 避免。
作为一般规则:C#中与SQL相关的文字应该从不具有$
前缀,但@
前缀是正常的,健康的并且很好。
请注意,您可能还需要添加:
cmd.BindByName = true;