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

one

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

esouldy

Client
Регистрация
28.02.2016
Сообщения
185
Благодарностей
92
Баллы
28
из другой темы)

Разбиваем строку (т.е. сплитуем) по разделителю | и раскидываю полученные части по переменным.
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

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Выдает такую ошибку:
Выполнение действия CSharp OwnCode Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Ошибка пропала, но теперь тупо перекладывает из исходной переменной значения в первую
 

esouldy

Client
Регистрация
28.02.2016
Сообщения
185
Благодарностей
92
Баллы
28
эм...а может приглядеться к коду?)
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.
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
Попробовал у себя сделать выборку из БД стандартным кубиком с разложением по переменным - работает
Конвертнул в C# - ошибки посыпались
Видать как-то не так (с ошибками) конвертируется кубик "Базы данных"
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Попробовал у себя сделать выборку из БД стандартным кубиком с разложением по переменным - работает
Конвертнул в 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];
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43

esouldy

Client
Регистрация
28.02.2016
Сообщения
185
Благодарностей
92
Баллы
28
ну а разделитель верный?
 
  • Спасибо
Реакции: one

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
Мы об одном говорим?
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Да. Нашел причину. В сконвертированном снипете не добавлялся разделитель строк.
 

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