Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pedrohenlima

c# - TextBox Autocomplete com dados do banco

Recommended Posts

Boa tarde, sou iniciante no c# e gostaria de saber o significado do erro que está me ocorrendo e como resolver esse problema.

Erro:

Obs: ele grifa essa parte do meu código: "SqlDataReader dr = sql.ExecuteReader();"

An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll

Additional information: ExecuteReader: CommandText property has not been initialized

Meu código:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
namespace Academia
{
    public partial class TurmaForm : Form
    {
        public TurmaForm()
        {
            InitializeComponent();
            loadData();
        }
        SqlConnection sqlConn = new SqlConnection("Data Source=PEDRO-PC;Initial Catalog=AcademiaPro;Persist Security Info=True;User ID=sa;Password=123123;");
        SqlCommand sql = new SqlCommand();
        private void TurmaForm_Load(object sender, EventArgs e)
        {

        }
        public void loadData()
        {
            sql.Connection = sqlConn;
            sqlConn.Open();
            AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();
            string querry = @"Select distinct nome_cliente from tbCliente order by nome_cliente ";
            
            SqlDataReader dr = sql.ExecuteReader();

            if (dr.HasRows == true)
            {
                while (dr.Read())
                    namesCollection.Add(dr["nome_cliente"].ToString());

            }

            dr.Close();

            tbFormTurmaFormCliente.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            tbFormTurmaFormCliente.AutoCompleteSource = AutoCompleteSource.CustomSource;
            tbFormTurmaFormCliente.AutoCompleteCustomSource = namesCollection;
            sqlConn.Close();
        }
    }
}

Minha textbox que deveria ter o autocomplete é a "tbFormTurmaFormCliente", onde eu preciso pegar os dados da coluna "nome_cliente" da tabela "tbCliente" por ordem alfabética, porém nem a tela está abrindo.

Obs: nas propriedades da tela, deixei assim:

AutoCompleteCustomSource = (Collection)
AutoCompleteMode = SuggestAppend
AutoCompleteSource = CustomSource

Agraço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não atrelou sua variável "querry" no comando do dataReader.

 

Abaixo desta linha onde você define a variável da Query do banco coloque:

<seudataReader>.CommandText = querry

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.