Я пытаюсь создать новое приложение C# .Net COM + для связи с устаревшими приложениями VB6. Пока у меня все работает, я могу вернуть всевозможные объекты, включая ADODB.Recordset.Как добавить несколько строк в созданный вручную ADODB.Recordset в C# .Net
Однако я могу добавить только одну строку данных в этот набор записей, и если я попытаюсь добавить дополнительные строки, последняя строка фактически будет возвращена в приложение VB6.
// List of data
List<string> names = new List<string> { "Fred", "John", "Jane" };
// Create ADODB Recordset
var adors = new ADODB.Recordset();
adors.Fields.Append("name", ADODB.DataTypeEnum.adLongVarChar, 250, FieldAttributeEnum.adFldIsNullable);
adors.Open(System.Reflection.Missing.Value, System.Reflection.Missing.Value, CursorTypeEnum.adOpenDynamic, LockTypeEnum.adLockOptimistic, -1);
// Loop through data and add a row for each one
foreach (var name in names)
{
adors.AddNew();
adors.Fields["name"].Value = name;
adors.Update(System.Reflection.Missing.Value, System.Reflection.Missing.Value);
}
// Return Recordset
return adors;
Для приведенного выше примера VB6 получит Recordset назад с 1 строкой данных, которая была бы «Джейн»
Может кто-то пожалуйста, объясните мне, как добавить несколько строк к ADODB.Recordset в C#?
adors.Fields [ "имя"] Value = membership.MemberNumber. Вы уверены, что это утверждение верно? Фактически вы не назначаете имя набору записей ADODB. – Thangadurai
@Thangadurai no это было неправильно. Посмотрите мое последнее обновление. Это был некоторый реальный код, попадающий в пример. Я также нашел ответ на мой вопрос, который я добавил. –