MySQL: Как разложить ответ по переменным.

  • Автор темы Автор темы one
  • Дата начала Дата начала

one

Client
Регистрация
22.09.2015
Сообщения
7 006
Реакции
1 308
Баллы
113
Сконвертировал экшен запроса к БД в C#, как полученный результат разложить по переменным?
 
из другой темы)

Разбиваем строку (т.е. сплитуем) по разделителю | и раскидываю полученные части по переменным.
string acc_full = project.Variables["account_source"].Value;
var account = acc_full.Split('|').ToList();
project.Variables["login"].Value = account[0];
project.Variables["pass"].Value = account[1];
project.Variables["hz"].Value = account[2];
 
  • Спасибо
Реакции: one
Выдает такую ошибку:
Выполнение действия CSharp OwnCode Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
 
Ошибка пропала, но теперь тупо перекладывает из исходной переменной значения в первую
 
эм...а может приглядеться к коду?)
Split('|') - сплитуем по вертикальной черте, по итогу получаем n элементов в массив account
project.Variables["login"].Value = account[0]; - берем первый элемент из массива. индекс не может быть больше чем количество элементов в массиве-1, о чем компилятор и сказал
Код:
Развернуть Свернуть Копировать
Index was out of range. Must be non-negative and less than the size of the collection.
 
Попробовал у себя сделать выборку из БД стандартным кубиком с разложением по переменным - работает
Конвертнул в C# - ошибки посыпались
Видать как-то не так (с ошибками) конвертируется кубик "Базы данных"
 
Попробовал у себя сделать выборку из БД стандартным кубиком с разложением по переменным - работает
Конвертнул в C# - ошибки посыпались
Видать как-то не так (с ошибками) конвертируется кубик "Базы данных"
Да какие ошибки, код в буфер копируется.
А нумерация переменных с 0 начинается?
Да.
эм...а может приглядеться к коду?)
Split('|') - сплитуем по вертикальной черте, по итогу получаем n элементов в массив account
project.Variables["login"].Value = account[0]; - берем первый элемент из массива. индекс не может быть больше чем количество элементов в массиве-1, о чем компилятор и сказал
Код:
Развернуть Свернуть Копировать
Index was out of range. Must be non-negative and less than the size of the collection.
Ну так он и должен же раскидаться по:
project.Variables["login"].Value = account[0];
project.Variables["pass"].Value = account[1];
project.Variables["hz"].Value = account[2];
Разве нет?

А получается что из исходно клдет все в:
project.Variables["login"].Value = account[0];
 
Мы об одном говорим?
Ejp8NkM.png
 
  • Спасибо
Реакции: one
Да. Нашел причину. В сконвертированном снипете не добавлялся разделитель строк.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)