用户login里之后需要从数据库选择相应记录,在gridview中显示。
login表有username,password,company;
session存储了username;
登录判定username和password之后,进入主页面。
在主页面中使用了select company from login where username=username;
定义了public string company;
主页面中有gridview控件,girdview是需要显示data表中的数据,条件是列company=public string company
gridview控件的where 条件是:(我不知道配置得是否正确)
列:company
运算符:=
源:None (还有其他一些control,form,cookie,querystring等等,我不知道选哪个)
参数属性:值:company不知道我的配置是否正确,求各位大大指点。

解决方案 »

  1.   

    难道楼主用的是SqlDataSource控件?先设置成最简单的,成功后再加条件试试。
      

  2.   

    不知道我是否表达不清 囧
    对gridview配置数据源已经配置过了,选择显示的是data表中需要显示的列
    另外用的是sqlcommand获取的另一个表login中的此时登录的用户的company。company是一个public的string.
    对gridview配置数据源时的where条件需要使得data表中的company列的值等于这个public的company。
      

  3.   

    对于楼主的问题,以下方面存在困惑。
    1.是否已经绑定数据库,如果说没有绑定,请先学习绑定数据,也就是2L说的。
    2.如果已经成功绑定,那么检查你写的CMD语句。从以上方面检查吧。
      

  4.   

    是用了sqldatasource控件。
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="talenttype" HeaderText="talenttype" 
                    SortExpression="talenttype" />
                <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
                <asp:BoundField DataField="haoma" HeaderText="haoma" SortExpression="haoma" />
                <asp:BoundField DataField="mobile" HeaderText="mobile" 
                    SortExpression="mobile" />
                <asp:HyperLinkField DataNavigateUrlFields="haoma" 
                    DataNavigateUrlFormatString="personinfo.aspx?id=haoma" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
            SelectCommand="SELECT [talenttype], [name], [haoma], [mobile] FROM [talent_apply] WHERE ([cnamefkey] = @cnamefkey)">
            <SelectParameters>
                <asp:Parameter DefaultValue="companyname" Name="cnamefkey" Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>
      

  5.   

        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="talenttype" HeaderText="talenttype" 
                    SortExpression="talenttype" />
                <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
                <asp:BoundField DataField="haoma" HeaderText="haoma" SortExpression="haoma" />
                <asp:BoundField DataField="mobile" HeaderText="mobile" 
                    SortExpression="mobile" />
                <asp:HyperLinkField DataNavigateUrlFields="haoma" 
                    DataNavigateUrlFormatString="personinfo.aspx?id=haoma" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
            SelectCommand="SELECT [talenttype], [name], [haoma], [mobile] FROM [talent_apply] WHERE ([cnamefkey] = @cnamefkey)">
            <SelectParameters>
                <asp:Parameter DefaultValue="companyname" Name="cnamefkey" Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>
      

  6.   

    .cs部分代码如下:
        public string companynanme;
        protected void Page_Load(object sender, EventArgs e)
        {
            string id = Session["uname"].ToString();
            SqlConnection Myconnection = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=test;User Id=sa;Password=test;");
            Myconnection.Open();
            string sql = "select company from companylogin where name='" + id + "'";
            SqlCommand cmd = new SqlCommand(sql , Myconnection);
            companynanme = cmd.ExecuteScalar().ToString();
            Myconnection.Close();    }
      

  7.   

    主页面中有gridview控件,girdview是需要显示data表中的数据,条件是列company=public string companylz这句话需要先验证public string company是否已被赋值,调试一下看吗
      

  8.   

    lz怎么用companynanme = cmd.ExecuteScalar().ToString();
    跟踪一下companynanme的值是什么????????
      

  9.   

    在.aspx页面中增加了<%=companynanme %>,
    经测试<%=companynanme %>可以正确显示。
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="talenttype" HeaderText="talenttype" 
                    SortExpression="talenttype" />
                <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
                <asp:BoundField DataField="haoma" HeaderText="haoma" SortExpression="haoma" />
                <asp:BoundField DataField="mobile" HeaderText="mobile" 
                    SortExpression="mobile" />
                <asp:HyperLinkField DataNavigateUrlFields="haoma" 
                    DataNavigateUrlFormatString="personinfo.aspx?id=haoma" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
            SelectCommand="SELECT [talenttype], [name], [haoma], [mobile] FROM [talent_apply] WHERE ([cnamefkey] = @cnamefkey)">
            <SelectParameters>
                <asp:Parameter DefaultValue="companyname" Name="cnamefkey" Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>
        <%=companynanme %>
      

  10.   

    1.已绑定数据
    2.CMD不会自己写,是在数据源里配置的,但是自己不知道怎么配置,也不知道配置得正确与否。
      

  11.   

     
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="talenttype" HeaderText="talenttype" 
                    SortExpression="talenttype" />
                <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
                <asp:BoundField DataField="haoma" HeaderText="haoma" SortExpression="haoma" />
                <asp:BoundField DataField="mobile" HeaderText="mobile" 
                    SortExpression="mobile" />
                <asp:HyperLinkField DataNavigateUrlFields="haoma" 
                    DataNavigateUrlFormatString="personinfo.aspx?id=haoma" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
            SelectCommand="SELECT [talenttype], [name], [haoma], [mobile] FROM [talent_apply] WHERE ([cnamefkey] = @cnamefkey)">
            <SelectParameters>
                <asp:Parameter DefaultValue="companyname" Name="cnamefkey" Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>
        1.@cnamefkey的值在哪里得到的? 此句不加where 条件。
    2..cs   public string companynanme;
        protected void Page_Load(object sender, EventArgs e)
        {
            string id = Session["uname"].ToString();
            SqlConnection Myconnection = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=test;User Id=sa;Password=test;");
            Myconnection.Open();
            string sql = "select company from companylogin where name='" + id + "'";
            SqlCommand cmd = new SqlCommand(sql , Myconnection);
            companynanme = cmd.ExecuteScalar().ToString();
            Myconnection.Close();    }
     //这些东西有什么用,你要准备干吗?
      

  12.   

    1.@cnamefkey我期望它是获取string companyname的值;不知道是不是这样写?其实不是我写的是图形化界面配置的,但不知道配置得正确与否;
    <SelectParameters>
                <asp:Parameter DefaultValue="companyname" Name="cnamefkey" Type="String" />
            </SelectParameters>2..cs中是希望给string companyname赋值,经测试是可以成功赋值的; 
      
      

  13.   

    问题已解决,动态绑定的代码如下,与大家共享!
    另外谢谢各位看帖回帖!    public string companynanme;
        protected void Page_Load(object sender, EventArgs e)
        {
            string id = Session["uname"].ToString();
            SqlConnection Myconnection = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=test;User Id=sa;Password=test;");
            Myconnection.Open();
            string sql = "select company from companylogin where name='" + id + "'";
            SqlCommand cmd = new SqlCommand(sql , Myconnection);
            companynanme = cmd.ExecuteScalar().ToString();        string sql2 = "select talenttype,name,haoma,mobile from talent_apply where cnamefkey='" + companynanme + "'";
            DataSet ds = new DataSet();
            SqlDataAdapter sda = new SqlDataAdapter(sql2, Myconnection);
            sda.Fill(ds);
            DataTable dt = ds.Tables[0];
            GridView1.DataSource = dt;
            GridView1.DataBind();
            Myconnection.Close();    }