我正在尝试编写一个查询,它将输出为MONTH,YEAR.
我写的时候:
select CAST( tbl.MONTH as varchar(2) ) + ', ' + CAST ( tbl.YEAR as varchar(4) ) as [DATE]
from TABLE as tbl
Run Code Online (Sandbox Code Playgroud)
我把输出作为
1,2014
4,2014 (depending upon the input)
Run Code Online (Sandbox Code Playgroud)
但是,现在,我想用JAN替换1,用DECRIL 12代替4
所以,我试着写一个案例陈述:
SELECT
case when tbl.MONTH ='1'
then ('JAN' + ', ' + CAST ( tbl.YEAR as varchar(4) )) as [DATE1]
from TABLE as tbl
Run Code Online (Sandbox Code Playgroud)
这会给出语法错误.谁能告诉我,我应该做什么?
我试图隐藏转发器内的标签.
<td>
<div>
<asp:Repeater ID="rpt1" runat="server"
OnItemDataBound="rpt1_ItemDataBound">
<HeaderTemplate>
<table>
<tr>
<td>
<div>
<label id="lbl1" runat="server">
<b>Project</b>
</label>
</div>
</td>
</tr>
</table>
</HeaderTemplate>
</asp:Repeater>
</div>
</td>
Run Code Online (Sandbox Code Playgroud)
我想动态隐藏Label lbl1.
protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
//IT COMES HERE
Label label = e.Item.FindControl("lbl1") as Label;
label.Visible = false;
// ERROR: OBJECT REFERENCE NOT SET TO AN INSTANCE OF AN OBJ
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,当我尝试调试代码时,它进入循环内部,但是我没有将对象引用设置为对象错误的实例.
UPDATE
如果我试试,
HtmlGenericControl label = e.Item.FindControl("lbl1") as HtmlGenericControl;
label.Visible = false;
Run Code Online (Sandbox Code Playgroud)
有用
我正在使用LINQ查询,这在某些时候无法正常工作.很少有人工作,但很少有我没有得到答案.
查询是
int a=0;
if (!Projects.Any(p => p.ID.Equals(PID)))
{
a = 0;
}
else
{
a= 10;
}
Run Code Online (Sandbox Code Playgroud)
这里,Projects是一个包含ID的类的Enumerable.因此,即使有一个与PID相同的项目,它也不会进入ELSE循环.我调试它,看到有10个项目计数,1个项目的ID与PID相同,但它仍然没有进入ELSE循环.
PID和ID是字符串.
为什么这不起作用?
我甚至尝试过:
if (!Projects.Any(p => p.ID==PID))
Run Code Online (Sandbox Code Playgroud)
更新:
我想进入Else循环.