C # и DAO. Почему RS.Fields (& # 8220; ColName & # 8221;) не работает?
Вопрос
dao.DBEngine DBE;
dao.Database DB;
dao.Recordset RS;
string DBPath;
DBPath = "C:\\Test\\test.mdb";
DBE = new dao.DBEngine();
DB = DBE.OpenDatabase(DBPath, false, false, "");
RS = DB.OpenRecordset("SELECT * FROM TEST", dao.RecordsetTypeEnum.dbOpenSnapshot, 0, dao.LockTypeEnum.dbOptimistic);
RS.MoveLast(0);
RS.MoveFirst();
String Val = RS.Fields("ColName");
Последняя инструкция работает в VBA или VB.NET Я думаю, почему она не работает на C #?
Решение
try String Val = RS.Fields [" ColName "]; C # использует квадратные скобки для ссылки на коллекции
Другие советы
Используйте квадратные скобки, явно укажите имя свойства, которое в данном случае равно Value, и приведите его к строке:
string Val = (string)RS.Fields["ColName"].Value;
Не связан с StackOverflow