当我在asp.net中使用where条件时,SQL查询无法正常工作

时间:2014-07-13 05:51:18

标签: c# asp.net sql sql-server

我使用了一个数据列表来显示数据库中的数据。它的代码是:

<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 

有效。输出是:

enter image description here

那么如何使WHERE条件的SQL查询工作?

注意:它也不适用于where name='abc'

编辑:好的,我已执行此查询

 select * from sub_catTbl where sid = 1 

它工作正常。这是输出:

enter image description here

2 个答案:

答案 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();