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

时间:2008-10-11 18:05:51

标签: c# ms-access oledb jet

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

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

2 个答案:

答案 0 :(得分: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"]);

答案 1 :(得分:0)

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

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

这有帮助吗?