你可以做到这一点
dt.Columns.Remove("xyz");
更新
看来填写不支持CLOB数据。以上解决方案将无法工作。您需要在SQL本身中进行更改。我的建议是在存储过程中移动所有内容,并使用元数据提取您想要的列(或排除不需要的列)。以下是示例代码。请注意,我没有测试过,所以你可能会发现一些小问题,但这些代码给你的,你可以做些什么来解决你的问题要点
C#代码
OleDbConnection oc= new OleDbConnection("[pass your connection string]");
OleDbCommand ocom = new OleDbCommand();
ocom.CommandText = "Abc"; // Abc is stored procedure
ocom.Connection = oc;
ocom.CommandType = CommandType.StoreProcedure;
ocom.Parameters.AddWithValue("@tableName","PQR") // pass your table name
ocom.Parameters.AddWithValue("@databaseName","IJK"); // pass your database name
OleDbDataAdapter oda = new OleDbDataAdapter(ocom);
DataTable dt = new DataTable();
oda.Fill(dt);
dataGridViewAttendanceDatabase.DataSource = dt;
SQL脚本
Create Porocedure Abc (@tableName varchar(255),@databaseName varchar(255))
Begin
SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), 'Fingerprint_Template,', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @tableName AND TABLE_SCHEMA = @databaseName), CONCAT(' FROM ',@tableName));
PREPARE stmt FROM @sql;
EXECUTE stmt;
End
是所有这些表中相同的列名? – Viru
是我想删除的列名在所有表中都是相同的。 –