marking existing column as primary key in datatable

Nov*_*Net 29 .net datatable

I have a datatable from database on the basis of some query.

I want that datatable to have a primary key for an existing column.

How can I do this?

dcp*_*dcp 62

Assuming the name of the column in your data table you want to be the primary key is called pk_column, you could do this (assume dt is your DataTable):

dt.PrimaryKey = new DataColumn[] { dt.Columns["pk_column"] };
Run Code Online (Sandbox Code Playgroud)

If your primary key is made up of multiple columns, you can add them to the array, like so:

dt.PrimaryKey = new DataColumn[] { dt.Columns["pk_column1"], dt.Columns["pk_column2"] };
Run Code Online (Sandbox Code Playgroud)

So if you were making student_id your primary key, you could do this:

dt.PrimaryKey = new DataColumn[] { dt.Columns["student_id"] };
Run Code Online (Sandbox Code Playgroud)

  • @NoviceToDotNet:不要让`new`关键字让你失望.dcp的建议不会创建任何新的`DataColumn`对象; 相反,它创建一个新的*数组*并将现有列放入此数组以传递给`PrimaryKey`属性.这是正确的方法. (9认同)
  • @NoviceToDotNet - 此代码不向DataTable添加任何其他列,它使用DataTable中已存在的现有列设置主键.有关如何使用student_id查看我的最新编辑. (3认同)
  • 我已经haivng datatable有列名student_id我想在datable ow中做主键这样做,这是我的确切问题我不想添加任何其他额外的列来制作主键 (2认同)