У меня проблема с передачей аргумента классу. Я хочу передать каждую итерацию, которая заполнит массив.Передача аргумента методу класса
private string[,] links;
for (int i = 0; i < 40; i++)
{
links = sql.Link(i);
}
И это метод внутри другого класса:
public string[,] Link(int i)
{
SqlCommand sqlCommand = new SqlCommand();
string[,] array = new string[40,40];
int num = 0;
sqlCommand.Connection = this.conn;
sqlCommand.CommandText = "SELECT TOP (40) Link FROM dbo.Links";
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
while (sqlDataReader.Read())
{
array[i,num] = sqlDataReader.GetValue(0).ToString();
num++;
}
sqlDataReader.Close();
return array;
}
Дело в том, что Links
массив содержит только нули.
При изменении прохождения коды:
links = sql.Link(0);
Тогда каждый индекс от 0,0
до 0,39
правильно заполнен. Но почему прохождение не работает должным образом?
Вы уверены, что проверите ссылки [39,0] .. [39,39] после цикла I <40. Что вы пытаетесь сделать, зачем выполнять тот же Sql 40 раз? – Serg