C# 在使用数据适配器填充数据表后,是否可以更改其列类型

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

因此,我试图将表的列类型更改为bool,但我不知道这是否可行,因为我使用了数据适配器来填充表,如下代码所示

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");