我现在做了一个可以在文本框中输入数据库中的表名就可以中GRIDVIEW中显示相应的数据。
但现在想实现,在页面中的文本框中输入一些字符,然后显示数据库中的相关表,就如有表aaa,bbb,ccc,ddd等
在文本框中输入a就显示表
整体功能是输入一些字符 得到相应的所有表 然后可以显示数据
现在我不知道怎么做 大家给些建议

解决方案 »

  1.   

    主要是写sql语句比如说你要找一个姓王的人where name like '王%'
      

  2.   

    这个我也知道 就是现在我在WEB中 文本框中输入 一串字符 
    对应数据库中的表 并把相关的表显示出来  得用哪些控件 显示相关的表
    还有就是写SQL语句实现模糊的语句应该是:%+textbox1.text+%的吧 
    感觉不知道整体布局  有人能指点下吗 谢谢
      

  3.   

    你是要查数据库中的表吗?每个数据库中都有一个表叫做sysobjects
    这里面有所有的表内容 select * from sysobjects where xtype = 'U'
      

  4.   

    整体功能是输入一些字符 得到相应的所有表
    ========================================你是指像google那样写些关键字得到相应的补全功能吗?autocomplete吗?用ajax回传吧。
      

  5.   

    使用 ajax 可以实现这个效果,可以使用 Ajaxpro.dll ,效果还不错
      

  6.   

    上面所说的AJAX技术  不熟  知道能不能说具体点 
    就是怎么用  还有要添加什么控件怎么的  具体流程说清楚点 谢谢
      

  7.   

     string cmdText = @"select * from Subject where Subject_Name like'%" + this.txtsubname.Text.Trim() + "%'";
      

  8.   

    这个是用AJAX技术实现的。楼主可以去找下这个资料!!!
    参考:http://www.cncms.com.cn/ajax/9999.htm
      

  9.   

    其实你要的就是一个autocomplete的功能。创建一个search.aspx的页面前台<td>
      Table Name:<asp:TextBox ID="txtName" runat="server" autocomplete="off" onmouseover="document.getElementById('panNames').style.display='inline'"></asp:TextBox>
      <div id="divNames" style="display: none; position: relative;">
      <div class="pop" id="panNames" onmouseover="document.getElementById('panNames').style.display='block'"
                                    onmouseout="document.getElementById('panNames').style.display='none'" style="display: block;position: absolute; z-index: 99; left: 45px; top: 0px; background: #fff; border: 1px solid #666666;">
       </div>
       </div>
     </td>
    前台对应的JS(ajax)代码:      function SearchUser() {
            var value = $.trim($("#<%=txtName.ClientID%>").val()); 
           
                $.ajax({
                    type: "GET",
                    url: "/UserAutoCompleter.aspx?name=" + value,
                    success: function(msg){
                    
                        if($.trim(msg)!= '' && value != '')
                        {
                        
                            $("#panNames").html(msg);
                            $("#divNames").show();
                            document.getElementById("panNames").style.display="block";
                            
                            $(".gac_c").click(function(){
                                $("#<%=txtName.ClientID%>").val($.trim($(this).html()));  
                                $("#divNames").hide(); 
                            });
       
                         }
                        else
                            $("#divNames").hide();
                   }
                });
            }然后呢就是创建js要传的页面 UserAutoCompleter.aspxUserAutoCompleter页面前台:<asp:panel runat="server" id="TableResult" visible="false" ><table cellspacing="0" cellpadding="0" class="gac_m" style="width: 146px">
        <tbody >
        
        <asp:repeater id="rptAutoCompleter" runat="server" 
                onitemdatabound="rptAutoCompleter_ItemDataBound">
            <ItemTemplate>
                <tr class="gac_a">
                    <td class="gac_c">
                       <%# Eval("Username") %>
                    </td>
                </tr>
            </ItemTemplate>
    </asp:repeater>
        </tbody>
    </table>
    </asp:panel>
    后台:得到你匹配的模糊查询出的表名,与repeater数据绑定 
     protected void Page_Load(object sender, EventArgs e)
            {
                string keyValue = Request.QueryString["name"];
                List<LeaveApp.Business.Table> Tables= Business.Table.GetTableLikeName(keyValue); //
                if (Tables.Count > 0)
                {
                    rptAutoCompleter.DataSource = Tables;
                    rptAutoCompleter.DataBind();
                    TableResult.Visible = true;
                }
            }
      

  10.   

    16楼你好 前台对应的JS(ajax)代码: 这个在VS中哪里写 这个我不知道?
      

  11.   


    Ajax 写在Search.aspx 里<head>标签中。另外补充一点,UserAutoCompleter.aspx.cs里还要写一段rptAutoCompleter_ItemDataBound方法:protected void rptAutoCompleter_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
                {
                    //    e.Item.("onKeyDown", "SelectRow();");
                    //e.Item.
                }
            }
      

  12.   

    搜索一下HampWebControl 这个。CSDN里面就有。可以实现你要的 效果
      

  13.   

    http://www.cnblogs.com/wzh2010/archive/2010/11/06/1870502.html Web前端设计模式--构建Ajax智能搜索...
      

  14.   

    有没有人用过AjaxTextBox控件  怎么我加载了 拖到页面上 
    protected object AjaxTextBox1_Search(object sender, HampWebControl.AjaxTextBox.SearchEventArgs e)
        {
            String connStr = "server=。;database=SS;uid=sa;pwd=123";
            String sql = "select name from 室外表名 where name like '%" + AjaxTextBox1.Text + "%'";
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();
                SqlCommand sd = new SqlCommand(sql, conn);
                SqlDataAdapter sa = new SqlDataAdapter(sd);
                DataTable dt = new DataTable();
                sa.Fill(dt);
                return dt;        }
        }
    但是没有返回  我看例子也是这么写的 但是我的就没有还回  这是怎么回事 
      

  15.   

    对了 我想看到室外数据 这个表里面的name列 且表里面只要这一列