就是我用交叉表 查出结果后 有的列名是中文的 怎么读出来呀 :如下所示id   name  备注
001   AA    aaa
002   BB    bbb
003   CC    ccc  象id、name我就用 诸如DataRow dr
dr["id"] dr["name"] 取出数据
但是中文的话 dr["备注"] 
取数据它报错说: 列“备注”不属于表 Table
怎么办呀 ?

解决方案 »

  1.   

    在SQL语句里把中文的变成英文的:
    Select 备注 as Memo From....
      

  2.   

    测试程序如下:<%@ Page language="c#" AutoEventWireup="false" debug="true"%>
    <%@ import namespace="System.Data"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html>
      <head>
        <title>WebForm</title>
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script runat="server" language="c#">
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 生成一个 DataTable;
    DataTable dt = new DataTable();
    DataColumn dc; dc = new DataColumn();
    dc.ColumnName = "备注";
    dc.DataType = typeof(System.String); dt.Columns.Add(dc); // 填充 DataTable 的值
    DataRow dr;
    dr = dt.NewRow();
    dr["备注"] = "aaa";
    dt.Rows.Add(dr); DataGrid1.DataSource = dt;
    DataGrid1.DataBind();
    Response.Write("值 为:" + dt.Rows[0]["备注"].ToString());}override protected void OnInit(EventArgs e)
    {
    this.Load += new System.EventHandler(this.Page_Load);
    base.OnInit(e);
    }</script>
      </head>
      <body>

        <form id="Form1" method="post" runat="server">
    <asp:DataGrid id=DataGrid1 runat=server/>
        </form>

      </body>
    </html>