C# 在使用数据适配器填充数据表后,是否可以更改其列类型
因此,我试图将表的列类型更改为bool,但我不知道这是否可行,因为我使用了数据适配器来填充表,如下代码所示C# 在使用数据适配器填充数据表后,是否可以更改其列类型,c#,ms-access,C#,Ms Access,因此,我试图将表的列类型更改为bool,但我不知道这是否可行,因为我使用了数据适配器来填充表,如下代码所示 private void GetData(string selectCommand) { try { // Create a new data adapter based on the specified query. dataAdapter = new OleD
private void GetData(string selectCommand)
{
try
{
// Create a new data adapter based on the specified query.
dataAdapter = new OleDbDataAdapter(selectCommand, conn);
OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);
// Populate a new data table and bind it to the BindingSource.
System.Data.DataTable table = new System.Data.DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
//table.Columns["Status"].DataType = typeof(bool);
if (table.Rows.Count > 0)
bindingSource1.DataSource = table;
else
{
MessageBox.Show("There is no such Data.", "No Result");
showAll();
}
}
正如您所看到的,注释行是一种错误的方式。有人能帮忙吗?分享供您参考。尝试使用GetType()方法更改DataColumn的数据类型
我现在的想法是否定的。但是你可以用你需要的类型创建一个新的数据表并填充它。我明白了,你正在从数据库中获取整个表。不能直接在DB级别更改表的架构定义吗?
DataColumn statusColumn = table.Columns["Status"];
statusColumn.DataType = System.Type.GetType("System.Boolean");