我的数据库建好了,但是用asp.net读的时候只显示里面的内容,没有对应的列名
比如我数据库里是这样的:Number 电池电压 电机类型
1       60V     M16电机但我读到网页里面就只显示: 1 60V M16电机怎么能把列名显示出来呢?
求高手指教!最好有代码解释

解决方案 »

  1.   

    1,查询语句之查询数据库的内容,并没有附带查询列明,要添加,这个我还不懂怎么查询出数据库的列名字。
    2.在asp.net中,可以使用控件,或手动添加数据库中的列名。
      

  2.   

    看你用的是什么控件了,<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
                            ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"
                            OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">
                            <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                            <Columns>
                                <asp:BoundField DataField="身份证号码" HeaderText="用户ID" ReadOnly="True" />
                                <asp:BoundField DataField="姓名" HeaderText="用户姓名" />
                                <asp:BoundField DataField="员工性别" HeaderText="性别" />
                                <asp:BoundField DataField="家庭住址" HeaderText="家庭住址" />
                                <asp:CommandField HeaderText="选择" ShowSelectButton="True" />
                                <asp:CommandField HeaderText="编辑" ShowEditButton="True" />
                                <asp:CommandField HeaderText="删除" ShowDeleteButton="True" />
                            </Columns>
                            <RowStyle ForeColor="#000066" />
                            <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
                            <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                            <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
                        </asp:GridView>
      

  3.   

    加一行表头列名不是很简单的。Number 电池电压 电机类型
    1 60V M16电机<asp:Repeater ID="rpt" runat="server">
        <HeaderTemplate>
             <table>
                  <tr>
                      <th>Number</th>
                      <th>电池电压 </th>
                      <th>电机类型</th>
                   </tr>
        </HeaderTemplate>
        <ItemTemplate>
                   <tr>
                        <td><%#Eval("Number")%></td>
                        <td><%#Eval("电池电压 ")%></td>
                        <td><%#Eval("电机类型")%></td>
                   </tr>
        </ItemTemplate>
        <FooterTemplate>
                  </table>
        </FooterTemplate>
    </asp:Repeater>//
    DataSet ds = XXX(); //自己获取数据集
    this.rpt.DataSource = ds;
    this.rpt.DataBind();
      

  4.   

    如果你用gridview的话,就直接把列名卸载head里面就行了啊!
      

  5.   

    用个GridView绑定一下数据,把每一列名称加上去就行了。
      

  6.   

    加一行表头列名不是很简单的。Number 电池电压 电机类型
    1 60V M16电机C# code
    <asp:Repeater ID="rpt" runat="server">
        <HeaderTemplate>
             <table>
                  <tr>
                      <th>Number</th>
     ……
    [/Quote]
      

  7.   

    如果是Gridview就给写死 <asp:GridView ID="GridView1" runat="server">
            <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                        这里写
                    </HeaderTemplate>
                    <ItemTemplate>
                        绑数据
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    如果不写死 就在取出的数据添加一行select column_name,data_type from information_schema.columns 
    where table_name = '表名' 
    查询出的列用
    dt.Rows.InsertAt()
    插入一行进去
      

  8.   


    刚才试了下调试时出现了错误
    CS1061: “ASP.webform1_aspx”不包含“GridView1_RowDeleting”的定义,并且找不到可接受类型为“ASP.webform1_aspx”的第一个参数的扩展方法“GridView1_RowDeleting”(是否缺少 using 指令或程序集引用?)
    我用在.cs里面在进行编写么?
      

  9.   

    GridView1_RowDeleting右键 Gridview 属性点击闪电 事件里面 双击RowDeleting或者删除红色标记<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
                            ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"
                            OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">

                            <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
      

  10.   


    这个写的太麻烦了这个只是举了简单的3列,我要写的有10多列,还有在.cs里面编译的 我直接用datatable 引的数据库(我老师让我用这个的,别劝我用reader或者别的写。。只能用他),没用控件写
      

  11.   

    这个还麻烦?这样也容易调整各个列的宽度,不用数据控件的话,你在后台准备用
    Response.Write("<table><tr>");

    Response.Write("</tr></table>");
    这样的输出???
      

  12.   


    我用的就是response。write的输出,但是列名就是输不出来
      

  13.   

     <asp:GridView ID="GridView1" runat="server">
            <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                        Number
                    </HeaderTemplate>
                    <ItemTemplate>
                        Number
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>
                        电池电压
                    </HeaderTemplate>
                    <ItemTemplate>
                        电池电压
                    </ItemTemplate>
                </asp:TemplateField>
               <asp:TemplateField>
                    <HeaderTemplate>
                        电机类型
                    </HeaderTemplate>
                    <ItemTemplate>
                        电机类型
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
      

  14.   

    你怎么写的??
    Response.Write("<table>");
    Response.Write("<tr>");
    Response.Write("<th>"+Number+"</th>");
    Response.Write("<th>"+电池电压+"</th>");
    Response.Write("<th>"+电机类型+"</th>");
    Response.Write("</tr>");
    ...
    SqlDataReader data = cm.ExceuteReader();
    while(data.Read())
    {
         Response.Write("<tr>");
         Response.Write("<th>"+dr["Number"].ToString()+"</th>");
         Response.Write("<th>"+dr["电池电压"].ToString()+"</th>");
         Response.Write("<th>"+dr["电机类型"].ToString()+"</th>");
         Response.Write("</tr>");
    }
    Response.Write("</table>");
      

  15.   


    用stringbulider 吧,考虑效率
      

  16.   


    用datatable写的
                string sqlStr = "select * from 总 ,基本配置 ,炫动马";
                SqlCommand cmd = new SqlCommand(sqlStr, conn);
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;
                DataTable res = new DataTable();
                da.Fill(res);
                //循环显示所有数据
                if (res.Rows.Count > 0)
                {
                    //for (int i = 0; i < res.Rows.Count; i++)
                    //{
                        Response.Write(res.Rows[0]["Number"].ToString());
                        Response.Write(res.Rows[0]["产品名称"].ToString());
                        Response.Write(res.Rows[0]["电池电压"].ToString());
                        Response.Write(res.Rows[0]["电机类型"].ToString());
                        Response.Write("<br>");
                    //}
                }
      

  17.   


    ~~o(>_<)o ~~不是我2.。。是我刚开始接触这个,老师给的任务
    我百度用reader,可他让我用datatable,然后就这样了,不会弄啊~~o(>_<)o ~~
      

  18.   

    不管用什么,都可以解决,在你的基础上改写的string sqlStr = "select * from 总 ,基本配置 ,炫动马";
    SqlCommand cmd = new SqlCommand(sqlStr, conn);
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    DataTable res = new DataTable();
    da.Fill(res);
    Response.Write("<table>"); 
    Response.Write("<tr>"); 
    Response.Write("<th>"+Number+"</th>"); 
    Response.Write("<th>"+电池电压+"</th>"); 
    Response.Write("<th>"+电机类型+"</th>"); 
    Response.Write("</tr>");
      //循环显示所有数据
      if (res.Rows.Count > 0)
      {
         foreach(DataRowView drv in res.DefaultView)
         {
              Response.Write("<tr>"); 
              Response.Write("<td>"+drv["Number"].ToString()+"</td>"); 
              Response.Write("<td>"+drv["产品名称"].ToString()+"</td>"); 
              Response.Write("<td>"+drv["电池电压"].ToString()+"</td>"); 
              Response.Write("<td>"+drv["电机类型"].ToString()+"</td>"); 
              Response.Write("</tr>"); 
         }
      }
    Response.Write("</table>"); 
      

  19.   

    少一列产品名称,自己补上
    Response.Write("<th>"+Number+"</th>"); 
    Response.Write("<th>"+产品名称+"</th>"); 
    Response.Write("<th>"+电池电压+"</th>"); 
    Response.Write("<th>"+电机类型+"</th>"); 
      

  20.   


    太爱你了 能告诉我这句是什么意思么?
    foreach(DataRowView drv in res.DefaultView)
      

  21.   


    Response.Write("<th>"+电机类型+"</th>");
    这些里面的字符串要加引号的,不然无法识别
    Response.Write("<th>"+"电机类型"+"</th>");依然谢谢你~~那句循环能只读一行么?因为我一个产品只有一行的数据,
    刚才读了下,把我下边的产品的数据也显示到这个产品上了
      

  22.   

    那你就得在SQL中加入条件就行了
      

  23.   

    foreach(DataRowView drv in res.DefaultView)一行一行的遍历DataTable在内存中的视图
      

  24.   


    thank you very much