我正在使用程序创建的数据表.在这个数据表中,我想在一些指定的列中插入值.
最初我插入主键值,剩下的列为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)
请随时告诉我这是否适合您..谢谢