我现在要做一个酒店系统,其中有一个页面实现和数据库实时连接,用来显示剩余房间数,而且不刷新。我看到好多资料上使用datalist来实现。。但是具体操作都不会,麻烦各位给出具体实现代码,不胜感激

解决方案 »

  1.   

    http://bbs.csdn.net/topics/280041976
    http://zhidao.baidu.com/question/148533497
      

  2.   

    已经解决了
    前台代码:
    <asp:datalist id="dlt_roomlist" runat="server" CellSpacing="5" 
                                                ShowFooter="False" ShowHeader="False" RepeatDirection="Horizontal" 
                                                RepeatColumns="6" BorderColor="#999999" BorderStyle="None" BackColor="White" 
                                                CellPadding="3" GridLines="Vertical" BorderWidth="1px" DESIGNTIMEDRAGDROP="5" 
                                                
                                                DataSourceID="SqlDataSource1" 
                                                onselectedindexchanged="dlt_roomlist_SelectedIndexChanged">
    <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#008A8C"></SelectedItemStyle>
    <SelectedItemTemplate>
    <font face="宋体"></FONT>
    </SelectedItemTemplate>
    <AlternatingItemStyle BackColor="LightGray"></AlternatingItemStyle>
    <ItemStyle ForeColor="Black" BackColor="#EEEEEE"></ItemStyle>
    <ItemTemplate>
    <FONT id="dll" face="宋体"></FONT>
    <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
    <TR>
    <TD width="12%">
    <DIV><FONT color="#000000"><B><font size="5"><%# DataBinder.Eval(Container, "DataItem.RID") %></FONT></B></FONT></DIV>
    </TD>
    </TR>
    <TR>
    <TD width="12%">
    <DIV><B>类别:</B><%# DataBinder.Eval(Container, "DataItem.TName") %></DIV>
    </TD>
    </TR>
    <TR>
    <TD width="12%">
    <DIV><B>空房:</B><%# DataBinder.Eval(Container, "DataItem.RState") %></DIV>
    </TD>
    </TR>
    <TR>
    <TD width="88%"><%# DataBinder.Eval(Container, "DataItem.RID","<a href=>预定</a>") %></TD>
    </TR>
    </TABLE>
    </ItemTemplate>
    <FooterStyle ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
    <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#000084"></HeaderStyle>
    <EditItemTemplate>
    <FONT face="宋体"></FONT>
    </EditItemTemplate>
    </asp:datalist>
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {        BindList();
        }
        public void BindList()
        {
            string s = ConfigurationManager.ConnectionStrings["siteconn"].ConnectionString;
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "Data Source=HP-PC;Initial Catalog=酒店管理系统;Integrated Security=True;User Instance=False";        SqlCommand sqlcom = new SqlCommand("guestroomleft", conn);
            sqlcom.CommandType = CommandType.StoredProcedure;//
            //创建SqlDataAdapter对象,调用视图
            SqlDataAdapter da1 = new SqlDataAdapter("guestroomleft", conn);
            //创建并填充DataSet
            DataSet ds1 = new DataSet();
            da1.Fill(ds1);
           
            dlt_roomlist.DataBind();
            conn.Close();
        }
        protected void dlt_roomlist_SelectedIndexChanged(object sender, EventArgs e)
        {    }
        protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
        {    }
    }存储过程:
     ALTER PROCEDURE [dbo].[guestroomleft]
        AS SELECT [dbo].[GuestRoom].[RID],
                  [dbo].[GuestRoom].[TID],
                  [dbo].[GuestRoom].[RNumber],
                  [dbo].[GuestRoom].[RDescribe],
                  [dbo].[GuestRoom].[RPosition],
                  [dbo].[RoomType].[TID],
                  [dbo].[RoomType].[TName],
                  [dbo].[GuestRoom].[RState]
        FROM[dbo].[GuestRoom],
        [dbo].[RoomType]
        WHERE [dbo].[GuestRoom].[TID]= [dbo].[RoomType].[TID]
        AND [dbo].[GuestRoom].[RState]='OK'
    存储过程: