Как исправить ошибку "The name 'i' does not exist in the current context" ? - C#
Формулировка задачи:
Как исправить ошибку "The name 'i' does not exist in the current context" в строке строке ?
Если я правильно понял, то нужно по нормальному объявить переменную
"i"
Сценарий кода: 1. Извлекаем данные из базы данных (Ексель); 2. Вносим данные в браузер Chrome; Привожу кодusing System;
using System.Linq;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
//****//
using OpenQA.Selenium;
using System.Diagnostics;
using OpenQA.Selenium.Chrome;
using System.IO;
namespace ExcelDb
{
public partial class Form1 : Form
{
object[,] arrData; //объявляем двумерный массив (строки и столбцы)
IWebDriver Browser;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string fileName = @"c:\Users\admin\Documents\Visual Studio 2015\Projects\03_PR\vr\01_kd ExcelDb\00_pr\excel\ExcelDb.xlsx"; //имя Excel файла
Excel.Application xlApp = new Excel.Application(); // Application - применение
Excel.Workbook xlWb = xlApp.Workbooks.Open(fileName); //открываем Excel файл
Excel.Worksheet xlSht = xlWb.Sheets["Лист1"]; //имя листа в файле
int iLastRow = xlSht.Cells[xlSht.Rows.Count, "A"].End[Excel.XlDirection.xlUp].Row; //последняя заполненная строка в столбце А
//var arrData = (object[,])xlSht.Range["A2:B" + iLastRow].Value; //берём данные со 2-й строки, если нужно с 1-й, то замените A2 на A1
arrData = (object[,])xlSht.Range["A2:D" + iLastRow].Value; //берём данные со 2-й строки, если нужно с 1-й, то замените A2 на A1
xlWb.Close(true);//закрываем файл и сохраняем изменения, если не сохранять, то false
xlApp.Quit(); //закрываем Excel
for (int i = 1; i <= arrData.GetUpperBound(0); i++) //заполняем ComboBox данными из массива
{
this.comboBox1.Items.Add(arrData[i, 1]);
}
}
private void groupBox2_Enter(object sender, EventArgs e)
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) // #### ID (вводится ID записи в базе данных)
{
for (int i = 1; i <= arrData.GetUpperBound(0); i++)
{
if (this.comboBox1.Text == arrData[i, 1].ToString())
{
this.textBox1.Text = arrData[i, 2].ToString(); // Передача данных в textBox1
this.textBox2.Text = arrData[i, 4].ToString(); // Передача данных в textBox3
this.textBox3.Text = arrData[i, 3].ToString(); // Передача данных в textBox2
return;
}
}
}
private void button1_Click(object sender, EventArgs e)
{
}
private void comboBox1_KeyUp(object sender, KeyEventArgs e)
{
if (this.comboBox1.Text == "")
{
this.textBox1.Text = "";
return;
}
for (int i = 1; i <= arrData.GetUpperBound(0); i++)
{
if (this.comboBox1.Text == arrData[i, 1].ToString())
{
this.textBox1.Text = arrData[i, 2].ToString();
return;
}
}
}
private void textBox1_TextChanged(object sender, EventArgs e)// ####
{
}
private void textBox2_TextChanged(object sender, EventArgs e)// ####
{
}
private void textBox3_TextChanged(object sender, EventArgs e) /// ####
{
}
private void button2_Click(object sender, EventArgs e)
{
OpenQA.Selenium.Chrome.ChromeOptions co = new OpenQA.Selenium.Chrome.ChromeOptions();
co.BinaryLocation = @"c:\soft\UD\GoogleChromePortable\1_1\GoogleChromePortable_1.exe";
Browser = new OpenQA.Selenium.Chrome.ChromeDriver(co);
Browser.Navigate().GoToUrl(arrData[i, 2].ToString()); //
}
}
}Решение задачи: «Как исправить ошибку "The name 'i' does not exist in the current context" ?»
textual
Листинг программы
public Form1() // Конструктор класса (формы)
private void Form1_Load(object sender, EventArgs e) // Обработчик события загрузки формы
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) // Обработчик события изменения выбора в combobox1
private void comboBox1_KeyUp(object sender, KeyEventArgs e) // Обработчик события "отжатия" кнопки (т.е. вы нажали, а потом убрали и сработал этот обработчик)
private void combobox_selectionChanged(object sender, KeyEventArgs e)
{
if ((sender as ComboBox).SelectedItem != null)
ID = Convert.ToInt32((sender as ComboBox).SelectedItem.ToString());
}
private void textBox1_TextChanged(object sender, EventArgs e) // Обработчик события изменения текстового поля textbox1
private void textBox3_TextChanged(object sender, EventArgs e) // Обработчик события изменения текстового поля textbox3
private void button2_Click(object sender, EventArgs e) // Обработчик события нажатия (клика) по кнопке button2