数据表选择行

Pra*_*mod 4 c#

我正在使用程序创建的数据表.在这个数据表中,我想在一些指定的列中插入值.

最初我插入主键值,剩下的列为null,当我在主列中使用最近插入的值查询数据表来更新同一行时,我面临错误 Missing operand after ID operator

谁能告诉我确切的问题.

我正在尝试以下代码:

 dt.Rows.Add(1);
 int insertedValue = 1;
 DataRow[] dr = dt.Select("ID = '" + insertedValue.toString() + "'");
Run Code Online (Sandbox Code Playgroud)

并且在委托主值之后的表结构如下.

ID    Volumn1    Volumn2    volumn3
--------------------------------------
1
Run Code Online (Sandbox Code Playgroud)

Tim*_*ora 10

您可以使用LINQ更干净地完成此操作,并使其成为强类型操作.

就像是:

dt.Rows.Add(1);
int insertedValue = 1;
var result = 
        dt.AsEnumerable().Where( dr => dr.Field<int>( "ID" ) == insertedValue );
Run Code Online (Sandbox Code Playgroud)

工作范例:

DataTable dt = new DataTable();
dt.Columns.Add( "ID", typeof( int ) );
dt.Rows.Add( 1 );

var result = dt.AsEnumerable().Where( dr => dr.Field<int>( "ID" ) == 1 );
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以简单地格式化选择字符串,如下所示:

    DataRow[] dr = dt.Select(string.Format("ID ='{0}' ", insertedValue));
Run Code Online (Sandbox Code Playgroud)

请随时告诉我这是否适合您..谢谢

  • 我认为这是最好的解决方案 (2认同)