繁体   English   中英

选择数据并将其从一个数据表复制到另一个数据表时出错?

[英]Error in selecting and copying data from one datatable into another?

我试图从一个数据表中选择一些数据,然后根据条件将其保存到另一个数据表中。 我收到错误-System.Data.SyntaxErrorException:无法解释令牌'!' 在位置6。

正确的语法是什么,在哪里可以看到执行SQL Server等查询的C#语句列表。

        DataTable parent = some datatable from SQL server;
        DataTable child = new DataTable();
        child = parent.Select("cols != -1").CopyToDataTable();

为什么从sql-server中选择一个表,首先要对其进行过滤? 您不能将此添加到WHERE- WHERE吗?

使用.NET 3.5,您应该能够使用更强大,更易读的Linq-To-DataSet

DataTable parent = GetTable();
DataTable child = parent.AsEnumerable()
    .Where(row => row.Field<int>("cols") != -1)
    .CopyToDataTable();

如果要使用DataTable.Select ,请DataTable.Select选择<>代替!=

DataRow[] filtered = parent.Select("cols <> -1");

在这里查看表达式语法: http : //msdn.microsoft.com/zh-cn/library/system.data.datacolumn.expression(v=vs.110).aspx

创建比较表达式时,允许使用以下运算符:

<
>
<=
>=
<>
=
IN
LIKE

表达式中还支持以下算术运算符:

+ (addition)
- (subtraction)
* (multiplication)
/ (division)
% (modulus)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM