小编use*_*989的帖子

SQL中的Case语句给出错误

我正在尝试编写一个查询,它将输出为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)

这会给出语法错误.谁能告诉我,我应该做什么?

sql sql-server

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

在运行时隐藏标签

我试图隐藏转发器内的标签.

<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)

有用

c# asp.net

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

比较LINQ中的字符串

我正在使用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循环.

c# linq asp.net

-3
推荐指数
1
解决办法
80
查看次数

标签 统计

asp.net ×2

c# ×2

linq ×1

sql ×1

sql-server ×1