1

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

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

4

2 回答 2

1

这是我根据 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"]);
于 2008-10-12T03:14:54.550 回答
0

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

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

这有帮助吗?

于 2008-10-11T19:25:45.870 回答