数据表列名称省略以数字开头的名称

时间:2014-09-09 08:55:10

标签: c# sql .net sql-server datatable

所以我的SQL查询是

  List<string> names = new List<string>();    
  cmd = new SqlCommand("Select " + string.Join(",", names) + " from test");
  da = new SqlDataAdapter(cmd);
  dt = new DataTable();
  da.Fill(dt);

当它填充数据表时,列名以数字开头,它省略了数字,只是在

之后打印文本

例如, 如果列名是&#34; 1AB2C&#34; 它变成了#AB; AB2C&#34;。 有人能告诉我为什么会发生这种情况以及它在哪里被修改?

2 个答案:

答案 0 :(得分:1)

从SQL标准来看,表名不能以数字开头。 有关详细信息,请参阅此帖子:Table or column name cannot start with numeric?

答案 1 :(得分:0)

试试这个

List<string> names = new List<string>();
            names.Add("[1col]"); //you may write your
            names.Add("name");
            string[] arr = names.ToArray();
            SqlConnection conn = new SqlConnection(ConnectionString);
            conn.Open();
            SqlCommand cmd = new SqlCommand("Select " + String.Join(",", arr) + " from test");