如何通过OleDb确定MS Access字段大小

本文关键字:字段 Access MS 何通过 OleDb 确定 | 更新日期: 2023-09-27 17:48:48

现有的应用程序位于C#中。在启动期间,应用程序调用一个虚拟方法来更改数据库(例如,新的修订可能需要计算一个新字段或其他内容)。一个打开的OleDb连接被传递到该方法中。

我需要更改字段宽度。ALTER TABLE语句工作正常。但是,如果字段的大小已经合适,我希望避免执行ALTERTABLE语句。有没有一种方法可以使用相同的OleDb连接来确定MS Access字段的大小?

如何通过OleDb确定MS Access字段大小

以下是我根据shahkalpesh的答案得出的结论:

var command = new OleDbCommand("SELECT FIELD FROM TABLE", connection); 
var reader = command.ExecuteReader(CommandBehavior.SchemaOnly); 
var schema = reader.GetSchemaTable(); 
var size = Convert.ToInt32(table.Rows[0]["ColumnSize"]);

不确定我是否完全理解你的问题
但是您可以在表中查询0行(SELECT 1 FROM myTable WHERE 1=0)

您可以使用记录集的字段集合,通过名称或索引引用该字段并使用字段的属性,如大小、类型等

这有帮助吗?