c#-C#中的DataTable.Select列名为纯数字时,怎么写?

问题描述

C#中的DataTable.Select列名为纯数字时,怎么写?

C#中,如果列名为纯数字的话,写在条件中,会被认为是一个常数,
在SQL中可以加上中括号“[]”,在C#中,要怎么写?

解决方案

感谢各位!
我师父找到问题所在了,是因为我添加列的时候,为指定列类型,默认为string类型了。
总结:
纯数字的列是没问题的,跟SQL一样,加中括号“[]”就可以了。

解决方案二:

好像也是可以的。我没试过

参考:http://www.cnblogs.com/DreamDays/p/3375641.html

解决方案三:

那sql select的时候,就用as将字段改名

解决方案四:

列名有可能是数字?就算是123也应该是字符串

解决方案五:

还是用中括号[]。

DataTable table = new DataTable();
table.Columns.Add("123");
table.Rows.Add("A");
table.Rows.Add("B");
table.Rows.Add("C");
var rows = table.Select("[123] > 'A'");  // 返回 'B' 和 'C'
时间: 2024-10-25 03:08:28

c#-C#中的DataTable.Select列名为纯数字时,怎么写?的相关文章

DataTable.Select 返回DataTable

在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他改动),在这些情况下,其实只要用.NET类库中提供的DataView类的强大功能(主要是用它的RowFilter属性),就能方便地解决这类查询问题.常有网友在网上询问怎么在DataTable中执行DataTable.Select("条件")返回DataTable,今天我在这里给个解决方法给

解析MySQL中INSERT INTO SELECT的使用

1. 语法介绍有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name  上面的语句比较适合两个表的数据互插,如果多个表就不适应了.对于多个表,可以先将需要查询的字段JOIN起来,然后组成一个视图后再SELECT FROM就可以了: INSERT INTO a (field1,field2

解析MySQL中INSERT INTO SELECT的使用_Mysql

1. 语法介绍有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name 上面的语句比较适合两个表的数据互插,如果多个表就不适应了.对于多个表,可以先将需要查询的字段JOIN起来,然后组成一个视图后再SELECT FROM就可以了: INSERT INTO a (field1,field2)

C# DataTable Select用法

使用背景:         完成一个查询,返回一个DataTable后,很多时候都想在查询结果中继续搜索.这时可以使用DataTable.Select方法对结果进行再查询. DataRow[] dr = ds.Tables[table_name].Select(); DataRow[] dr = ds.Tables[table_name].Select("数据库绑定在gridview上的列名='该列你要查询的值'"); DataRow[] dr = ds.Tables[table_na

Oracle Faq(如何在ORACLE中更改表的列名和顺序 )

oracle 如需转载,请注明出处!用过ORACLE的人都知道,要想在ORACLE中更改表的列名和顺序可是一件很烦琐的事,下面给大家提供一种简单的方法. SQL> select object_id from all_objects where owner='SCOTT' and object_name='T1'; OBJECT_ID----------6067SQL> select obj#,col#,name from sys.col$ where obj#=6067; OBJ# COL#-

spark-在Spark SQL中,列名为敏感词汇时如何处理?

问题描述 在Spark SQL中,列名为敏感词汇时如何处理? 有一张表,其第二列的列名为first.在运行SQL语句select first from tablename时老是报错,原因是把first列名当作SQL中的first()函数了. 请问这种情况如何处理?难道只能去改表tablename中的列名了吗? 解决方案 没用过Spark SQL 不过你可以试试用双引号或者方括号分隔first 解决方案二: 你可以试试用双引号或者方括号分隔first

update-求大神指点db2 中存储过程动态赋值列名的问题

问题描述 求大神指点db2 中存储过程动态赋值列名的问题 我想在存储过程里,执行一个update,其中set后的列名和值都是变量,需要通过while--do --去判断.可是写完之后保存不报错,运行,就各种报错,换成select * from test where col1=? 在传一个变量久不报错,求教.我该怎么写啊.网上差了好多都是select的,就没有update 对列名赋值的.请大神们告诉一声呗.我纯粹是个小白.就是看资料里写的.请大神指点. 我写了一个test 大概如下: 解决方案 自

求助,报了个异常“在结果列列表中多次出现列名 'D_StoneWeight'”

问题描述 求助,报了个异常"在结果列列表中多次出现列名'D_StoneWeight'"视图如下:SELECTD_Code,D_Name,D_ZJM,D_ProNameC,D_ProName,D_GoldWeight,D_StoneWeight,D_StoneNum,D_Shape_Code,D_XF_Code,D_XK,D_PJ,D_JGF,D_GYSDM,D_GYSKH,D_DesignDate,D_Attribute,D_Memo,StopFlag,D_StoneWeightASD

sql语句查询数据库中的表名/列名/主键/自动增长值实例_MsSql

sql语句查询数据库中的表名/列名/主键/自动增长值 ----查询数据库中用户创建的表 ----jsj01 为数据库名 select name tablename from jsj01..sysobjects where type='U' and name not in ('dtproperties') --查询表里的字段信息 ---docs为表名 ---- select * from syscolumns where id = object_id('docs') ----查询数据库中所有类型