1
我使用DAO here的MS Access OLEDB列属性
使用OLEDB框架解决了这个问题,在VBA,我创建了一个功能,可以查找记录值。但它只能获得原始价值。我需要找到所谓的“行来源”列属性的值
有人能向我解释了如何使用OLEDB
下面是我的一个传统的查找查询功能查找外键值。
string IDatabase.LookupRecord(string column, string table, string lookupColumn, string lookUpValue)
{
OleDbCommand cmdLookupColumnValue = new OleDbCommand();
string sqlQuery = "SELECT [" + table + "].[" + column + "] " +
"FROM [" + table + "] " +
"WHERE [" + table + "].[" + lookupColumn + "] = '" + lookUpValue + "'";
cmdLookupColumnValue.CommandText = sqlQuery;
cmdLookupColumnValue.CommandType = CommandType.Text;
cmdLookupColumnValue.Connection = connection;
string result = "";
try
{
result = cmdLookupColumnValue.ExecuteScalar().ToString();
}
catch(Exception ex)
{
MessageBox.Show("Query is not valid :" + ex.ToString());
}
return result;
}
编辑我发现下面的代码here其最接近的香港专业教育学院迄今得到。它确实获得像列描述那样的列属性,但它不适用于行Source。有任何想法吗?
public void Test()
{
string columnName = "Main Space Category";
ADOX.Catalog cat = new ADOX.Catalog();
ADODB.Connection conn = new ADODB.Connection();
conn.Open(connectionString, null, null, 0);
cat.ActiveConnection = conn;
ADOX.Table mhs = cat.Tables["FI - ROOM"];
var columnDescription = mhs.Columns[columnName].Properties["Description"].Value.ToString();
MessageBox.Show(columnDescription);
conn.Close();
}
完美,我没有意识到,DAO是可用于C#。 – MichaelTaylor3D