I'm trying to use mysqldatareader to fill some textboxes in C# Visual Studio. I've made the connection string and created the MySqlDataReader command.
But when I click in the button to make the action it shows me a messagebox saying: "Invalid attempt to access a field before calling Read()"
This is my code:
private void btnBuscar_Click(object sender, EventArgs e)
{
try
{
MySqlConnection conexao = new MySqlConnection("server=localip; database=localdb; Uid=user; pwd=pass;");
conexao.Open();
MySqlCommand comando = new MySqlCommand();
comando.CommandText = "select p.id, s.sku_id, p.commercial_description, pri.price, max(pri.start) as alterado_em from plu p " +
"inner join sku s on p.plu_key = s.plu_key inner join pricing pri on pri.plu_key = p.plu_key " +
"where p.id = " + txtCodbusca.Text + " group by pri.plu_key desc";
comando.CommandType = CommandType.Text;
comando.Connection = conexao;
MySqlDataReader DR;
DR = comando.ExecuteReader();
DR.Read();
txtCodinterno.Text = Convert.ToString(DR.GetDecimal(0));
txtGtin.Text = Convert.ToString(DR.GetChar(1));
txtDescricao.Text = (DR.GetString(2));
txtPreco.Text = Convert.ToString(DR.GetDecimal(3));
conexao.Close();
HabBotoes();
}
catch (Exception ex)
{
MessageBox.Show(string.Format("{0}", ex.Message));
}
}