Я пытаюсь прочитать колонку из считывания данных в этикетку (с # WinForm) Мой код выглядит следующим образом:C# WinForms Аргумент 1: не удается преобразовать из «строка» до «межд»
SqlCommand command1 = new SqlCommand("select plant_name,plant_id from plant order by plant_id ", connection);
try
{
connection.Open();
SqlDataReader dr = command1.ExecuteReader();
while (dr.Read())
{
string plantlable = dr.GetInt32("plant_id").ToString();
labelplantid.Text = plantlable.ToString();
comboBoxplant.Items.Add(dr["plant_name"]);
}
dr.Close();
dr.Dispose();
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.Exit();
}
я получаю ошибку «Аргумент 1: не удается преобразовать из„строка“в„межд“» на следующей строке
string plantlable = dr.GetInt32("plant_id").ToString();
с plant_id подчеркнуты красным цветом.
Что я делаю неправильно? Я не могу понять это. plant_id - это тип столбца Int. Использование Sql Server 2008 для базы данных.
Любые подсказки были бы благодарны.
Вы пытались получить целочисленное значение из строки, отличной от числа, что не имеет смысла. 'dr [" plant_id "]' следует использовать вместо этого. См. Https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getint32(v=vs.110).aspx для информации о методе GetInt32. –
спасибо .. это сработал .... labelplantid.Text = dr ["plant_id"]. ToString(); – Harry