我得到了:
必须声明标量变量“@userid”。
开启
if (HttpContext.Current.Items["AlbumID"] != null)
{
Page.DataBind();
ddlAlbum.Items.FindByValue(HttpContext.Current.Items["AlbumID"].ToString()).Selected = true;
}
我认为这与某些事情有关:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:SLIITComDBConnectionString %>"
SelectCommand="SELECT [AlbumId], [AlbumName] FROM [Album] WHERE (userid=@userid) ">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="1" Name="AlbumID"
QueryStringField="AlbumID" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
答案 0 :(得分:1)
在SQL查询中使用@userid var,它未声明!
SELECT [AlbumId], [AlbumName] FROM [Album] WHERE (userid=@userid)
关于您的问题有很多信息 http://msdn.microsoft.com/en-us/library/z72eefad%28v=vs.100%29.aspx
答案 1 :(得分:1)
通常,此错误意味着您调用的语句或存储过程需要名为@userid
的参数,并且您尚未提供该参数。也许您拼错了参数,或者您认为有两个参数并且只提供了一个参数。但其根本意义非常明确。
答案 2 :(得分:0)
您的查询显然需要@userid
SELECT [AlbumId], [AlbumName] FROM [Album] WHERE (userid=@userid)
您尚未在<SelectParameters>
中提供此信息
设置它,你应该很高兴。