Вот код, который я использовал, и он будет всплывать в Exception при 3-й команде. Назначение CommandText, но это то же самое, что я использовал во второй команде. Назначение CommandText,Входная строка не была в правильном формате в SqlCommand
SqlCommand command = conn.CreateCommand();
conn.Open();
//1st
command.CommandText = query;
SqlDataReader reader = command.ExecuteReader();
ArrayList alMainGrid = new ArrayList();
while (reader.Read())
{
SupportTable table = new SupportTable();
table.LaySheetNo = reader.GetValue(0).ToString();
table.PlnLayStartTime = reader.GetDateTime(1).ToString();
table.PlnLayEndTime = reader.GetValue(2).ToString();
table.LayTableId = reader.GetValue(3).ToString();// reader.GetValue(3).ToString();
table.LayTeamId = reader.GetValue(4).ToString();
alMainGrid.Add(table);
}
reader.Close();
foreach (SupportTable table in alMainGrid)
{
//2nd
command.CommandText = String.Format("SELECT CTDesc FROM CutTable WHERE CTId ={0}", int.Parse(table.LayTableId));
string tableDesc = (string)command.ExecuteScalar();
table.LayTeamId = tableDesc;
//3rd-In this command.CommandText
command.CommandText = String.Format("SELECT TeamDesc FROM Team WHERE TeamId ={0}", int.Parse(table.LayTeamId));
string teamDesc = (string)command.ExecuteScalar();
table.LayTeamId = teamDesc;
}
dgvMain.DataSource = alMainGrid;
Что такое исключение? –
Похож, что 'table.LayTeamId' - пустая строка или содержит несимвольные символы. – ekad
Кстати, вы не должны указывать строки, чтобы сформировать ваш запрос. Это хороший способ сделать себя уязвимым для атак SQL Injection –