C# 更改从asp.net中的sql查询接收的文本
我在asp.net中使用了一个listview,在这个listview中,我有一个使用我的查询填充数据的列表框。列表框中的某些值为空。是否有办法获取空数据并将其更改为“(空白)” ASP.NETC# 更改从asp.net中的sql查询接收的文本,c#,sql,asp.net,sql-server,C#,Sql,Asp.net,Sql Server,我在asp.net中使用了一个listview,在这个listview中,我有一个使用我的查询填充数据的列表框。列表框中的某些值为空。是否有办法获取空数据并将其更改为“(空白)” ASP.NET <asp:ListBox ID="ListBox1" runat="server" DataSourceID="FormTitleDataSource" DataTextField="FormTitle" DataValueField="FormID" SelectedValu
<asp:ListBox ID="ListBox1" runat="server" DataSourceID="FormTitleDataSource"
DataTextField="FormTitle" DataValueField="FormID"
SelectedValue='<%# Bind("FormID") %>' AppendDataBoundItems="true">
<asp:SqlDataSource ID="FormTitleDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:ORHP_Dev03182014ConnectionString %>"
SelectCommand="SELECT DISTINCT FormTitle, FormID FROM Core.Form_Lkup ORDER BY FormTitle">
</asp:SqlDataSource>
您是否尝试将其写入SQL语句中
SELECT DISTINCT case when FormTitle = '' then '(Blank)' else FormTitle end as FormTitle, FormID FROM Core.Form_Lkup ORDER BY FormTitle
将OnDataBound=“ListBox1\u DataBound”
添加到ListBox
控件:
<asp:ListBox ID="ListBox1" runat="server" OnDataBound="ListBox1_DataBound" DataSourceID="FormTitleDataSource"
DataTextField="FormTitle" DataValueField="FormID"
SelectedValue='<%# Bind("FormID") %>' AppendDataBoundItems="true">
或者是否有人知道如何使用select语句来更改空字符串而不更改表中的值。(将其用于应用程序)在Oracle中,您可以执行
select NVL(FormTitle),(Blank)
。不确定SQL Server是否有等效的语法(NVL表示无值,它是一个用指定值替换null的函数。)请发布您的SQL,以便我们可以提供基于SQL的解决方案我忘记结束我的case语句…已修复
protected void ListBox1_DataBound(object sender, EventArgs e)
{
foreach (ListItem i in ListBox1.Items)
{
if (i.Value == "")
i.Text = "Blank";
}
}