现有的应用程序是在C#中。在启动期间,应用程序调用虚拟方法来更改数据库(例如,新版本可能需要计算新字段或其他内容)。将一个开放的OleDb连接传递给该方法。
我需要更改字段宽度。 ALTER TABLE语句工作正常。但是如果字段已经是合适的大小,我想避免执行ALTER TABLE语句。有没有办法使用相同的OleDb连接确定MS Access字段的大小?
答案 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的字段集合,按名称或索引引用该字段
并使用字段的属性,如大小,类型等。
这有帮助吗?