Глюк таблицы??

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Всем привет
не пойму в чем прикол
у меня из таблицы данные берутся нормально, у товарища постоянно вылетает ошибка - индекс за пределами диапазона. В чем может быть вопрос?
Код идет по ветке "Грузим таблицу со своими настройками" - данные в таблице заполнены руками. Последние 3и переменные - цифры
Сам код:
C#:
bool enter_table = Boolean.Parse(project.Variables["enter_table"].Value);

if(enter_table){
    //Грузим таблицу с настройками пользователя, если они введены вручную
    lock(SyncObjects.TableSyncer){
          project.SendInfoToLog("Грузим таблицу со своими настройками", true);
        // берем первую строку с удалением и раскидываем значения по переменным
        var row = project.Tables["Site_report"].GetRow(0).ToList();
        project.Tables["Site_report"].DeleteRow(0);
        project.Variables["target_domain"].Value = row[0];
        project.Variables["keyphrase"].Value = row[1];
        project.Variables["region"].Value = row[2];
        project.Variables["dom_zone"].Value = row[3];
        project.Variables["competitor"].Value = row[4];
        project.Variables["wordstat_frequency"].Value = row[5];
        project.Variables["total_traffic"].Value = row[6];
        project.Variables["curr_pos"].Value = row[7];
    }
    lock(SyncObjects.TableSyncer){
        project.Tables["Site_report"].AddRow(project.Variables["target_domain"].Value+"\t"+project.Variables["keyphrase"].Value+"\t"+
        project.Variables["region"].Value+"\t"+project.Variables["dom_zone"].Value+"\t"+project.Variables["competitor"].Value+"\t"+
        project.Variables["wordstat_frequency"].Value+"\t"+project.Variables["total_traffic"].Value+"\t"+project.Variables["curr_pos"].Value);
    }
}else{
    //Грузим таблицу как обычно, если галка отключена
        lock(SyncObjects.TableSyncer){
           project.SendInfoToLog("Грузим таблицу с авто настройками", true);
        // берем первую строку с удалением и раскидываем значения по переменным
        var row = project.Tables["Site_report"].GetRow(0).ToList();
        project.Tables["Site_report"].DeleteRow(0);
        project.Variables["target_domain"].Value = row[0];
        project.Variables["keyphrase"].Value = row[1];
        project.Variables["region"].Value = row[2];
        project.Variables["dom_zone"].Value = row[3];
        project.Variables["competitor"].Value = row[4];
        project.Variables["wordstat_frequency"].Value = row[5];
        project.Variables["total_traffic"].Value = row[6];
        project.Variables["curr_pos"].Value = row[7];
    }
    lock(SyncObjects.TableSyncer){
        project.Tables["Site_report"].AddRow(project.Variables["target_domain"].Value+"\t"+project.Variables["keyphrase"].Value+"\t"+
        project.Variables["region"].Value+"\t"+project.Variables["dom_zone"].Value+"\t"+project.Variables["competitor"].Value+"\t"+
        project.Variables["wordstat_frequency"].Value+"\t"+project.Variables["total_traffic"].Value+"\t"+project.Variables["curr_pos"].Value);
    }   
}
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Наверное в таблице нет данных, поэтому и ошибка выскакивает.

Перед взятием строки из таблицы можно\нужно сделать проверку на кол-во оставшихся строк, если строки есть - берем.
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Наверное в таблице нет данных, поэтому и ошибка выскакивает.

Перед взятием строки из таблицы можно\нужно сделать проверку на кол-во оставшихся строк, если строки есть - берем.
Спасибо, попробую
 

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