Usuário com melhor resposta
Problemas com um dataGrid

Pergunta
-
Estou a iniciar os estudos com a linguagem C#, em um dos exercícios estou a montar um pequeno programa de cadastro, até a parte do cadastro no Banco de Dados tudo ficou OK, o problema foi quando tentei fazer uma tabela ser preenchida com os dados do Banco, usei um dataGrid o erro é esse:
Fill: Propriedade SelectCommand.Connection não foi inicializada.
Ó código é esse e em negrito a parte onde o Visual Studio aponta o erro.
Desde de já agradeço a ajuda....
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.OleDb;
namespace MercadoEstudo
{
public partial class CadCliente : Form
{
private string _strConn = @"Data Source=DESKTOP-LL0RU5G;Initial Catalog=MERCADO;Integrated Security=True";
SqlConnection objconect = null;
SqlCommand objCommand = null;
public CadCliente()
{
InitializeComponent();
}
private void btvoltar_Click(object sender, EventArgs e)
{
Form1 vorte = new Form1();
vorte.Show();
this.Visible = false;
}
private void limpar()
{
txtcliente.Clear();
maskcpf.Clear();
masktel.Clear();
maskcep.Clear();
}
public void carregardados()
{
objconect = new SqlConnection(_strConn);
objCommand = new SqlCommand();
string strSQL = "SELECT * FROM CLIENTE";
try
{
SqlDataAdapter objAdp = new SqlDataAdapter(objCommand);
DataTable dtLista = new DataTable();
objAdp.Fill(dtLista);
dgDados.DataSource = dtLista;
MessageBox.Show("Conectado com o Banco de Dados");
}
catch (SqlException ex)
{
MessageBox.Show("Erro ao se conectar com o Banco de Dados");
}
}
private void btcadastro_Click(object sender, EventArgs e)
{
SqlConnection SqlCon = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=MERCADO;Data Source=DESKTOP-LL0RU5G");
SqlCommand comand = new SqlCommand("INSERT INTO CLIENTE (NMCLIENTE,CPFCLIENTE,TELCLIENTE,CEPCLIENTE) VALUES (@NOME, @CPF, @TEL, @CEP) ", SqlCon);
comand.Parameters.Add("@NOME", SqlDbType.VarChar).Value = txtcliente.Text;
comand.Parameters.Add("@CPF", SqlDbType.VarChar).Value = (maskcpf.Text);
comand.Parameters.Add("@TEL", SqlDbType.VarChar).Value = (masktel.Text);
comand.Parameters.Add("@CEP", SqlDbType.VarChar).Value = (maskcep.Text);
try
{
SqlCon.Open();
comand.ExecuteNonQuery();
MessageBox.Show("Dados Cadastrados");
limpar();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
SqlCon.Close();
}
}
private void btlimpar_Click(object sender, EventArgs e)
{
limpar();
}
private void button1_Click(object sender, EventArgs e)
{
carregardados();
}
}
}
Respostas
-
Lucas,
A mensagem de erro já deixa claro que não informou qual objeto Connection o SqlCommand deve utilizar. Faça assim:
public void carregardados() { objconect = new SqlConnection(_strConn); objCommand = new SqlCommand(); // FALTAVA ESSA LINHA ABAIXO objCommand.Connection = objconect; string strSQL = "SELECT * FROM CLIENTE"; try { SqlDataAdapter objAdp = new SqlDataAdapter(objCommand); DataTable dtLista = new DataTable(); objAdp.Fill(dtLista); dgDados.DataSource = dtLista; MessageBox.Show("Conectado com o Banco de Dados"); } catch (SqlException ex) { MessageBox.Show("Erro ao se conectar com o Banco de Dados"); } }
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Sugerido como Resposta Filipe B CastroModerator segunda-feira, 10 de julho de 2017 13:48
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 17 de julho de 2017 13:01
Todas as Respostas
-
Lucas,
A mensagem de erro já deixa claro que não informou qual objeto Connection o SqlCommand deve utilizar. Faça assim:
public void carregardados() { objconect = new SqlConnection(_strConn); objCommand = new SqlCommand(); // FALTAVA ESSA LINHA ABAIXO objCommand.Connection = objconect; string strSQL = "SELECT * FROM CLIENTE"; try { SqlDataAdapter objAdp = new SqlDataAdapter(objCommand); DataTable dtLista = new DataTable(); objAdp.Fill(dtLista); dgDados.DataSource = dtLista; MessageBox.Show("Conectado com o Banco de Dados"); } catch (SqlException ex) { MessageBox.Show("Erro ao se conectar com o Banco de Dados"); } }
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Sugerido como Resposta Filipe B CastroModerator segunda-feira, 10 de julho de 2017 13:48
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 17 de julho de 2017 13:01
-
Bom dia,
Por falta de retorno, essa thread está sendo encerrada.
Se necessário, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.