我使用了一个数据列表来显示数据库中的数据。它的代码是:
<div id="ccont">
<asp:DataList ID="mydatalist" runat="server">
<ItemTemplate>
product:<asp:Label ID="lbl1" Text='<%#DataBinder.Eval(Container.DataItem,"product") %>' runat="server" />
<br/>
price:<asp:Label ID="lbl2" Text='<%#DataBinder.Eval(Container.DataItem,"price") %>' runat="server" />
</ItemTemplate>
</asp:DataList>
</div>
其相应的.cs文件包含以下代码:
protected void Page_Load(object sender, EventArgs e)
{
sq.connection();
SqlCommand cmd = new SqlCommand("select * from sub_catTbl where sid = 1 " , sq.con);
SqlDataReader sd = cmd.ExecuteReader();
sd.Read();
mydatalist.DataSource = sd;
mydatalist.DataBind();
sq.con.Close();
}
此SQL查询不提供输出也不提供任何错误。当我用以下代码替换SQL查询时
select * from sub_catTbl
有效。输出是:
那么如何使WHERE
条件的SQL查询工作?
注意:它也不适用于where name='abc'
。
编辑:好的,我已执行此查询
select * from sub_catTbl where sid = 1
它工作正常。这是输出:
答案 0 :(得分:1)
我遇到了同样的问题。只需删除sd.Read()行,一切都很好。
如需进一步参考,请参阅https://unschoolingcode.wordpress.com/2012/08/16/my-computer-is-playing-video-on-its-own/和http://msdn.microsoft.com/en-us/library/aa719635(v=vs.71).aspx
答案 1 :(得分:-2)
您没有打开连接。尝试使用sq.con.open();
。