我有一个SQL查询,会产生一个字符串。而不是将gridview,listview等绑定到它并且内部有一个孤独的标签,我只想存储字符串(它最终会在以后的其他地方使用)。对于我的生活,我无法弄清楚这一点。
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="select [title] from [books]
where([Genre]=@Genre)
OnSelected="SqlDataSource3_Selected">
<SelectParameters>
<asp:Parameter Name="Title" Direction="ReturnValue" Type="String" />
<asp:ControlParameter ControlID="DropDownList1" Name="genre"
PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
protected void SqlDataSource3_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
string sqlreturnString = Convert.ToString(e.Command.Parameters["@Title"].Value);
Label3.Text = sqlreturnString;
}
当我希望它显示标题时,所有这些都会吐出'0'。如果我将[“@标题”]更改为[1],它将显示类型。现在只有四本书,每本都有一个独特的类型。
答案 0 :(得分:2)
添加一个按钮,并在按钮单击的处理程序中编写此代码。
DataSourceSelectArguments sr = new DataSourceSelectArguments();
DataView dv =(DataView) SqlDataSource3.Select(sr);
if(dv.Count!=0)
Label1.Text = dv[0][0].ToString();
答案 1 :(得分:0)
在进行C#和ASP.NET时我也遇到了同样的问题,如果有一个方法可以在SQLDataSource或AccessDatasource中转储查询的文本结果,那将是非常好的。在此之前,以下是我发现的解决方案的一个例子:
AccessDataSource MyDataSource = new AccessDataSource("~/App_Data/MyDB.mdb",
"SELECT Name FROM Employees");
DataView MyView = (DataView) MyDataSource.Select(DataSourceSelectArguments.Empty);
lblResults.Text = MyView[0][1].ToString();
此示例也适用于SqlDataSource对象。