Usuário com melhor resposta
ExecuteNonQuery: Connection property has not been initialized.

Pergunta
-
Olá pessoal, sou iniciante no ramo de desenvolvimento, sou muito fraco na parte de conexão com banco de dados.
Enfim, pesquise em vários foruns e principalmente aqui no msdn e encontrei muita coisa parecida com a que estou usando, já fiz modificações e etc...
Mas o resultado foi sempre o mesmo.
O código abaixo trata-se de apenas uma inserção em um banco de dados em sql server 2008 com o nome de banco teste conforme a string de conexão.
private void btnOk_Click(object sender, EventArgs e) { string sql = "INSERT INTO teste(nome,obs) VALUES(@nome,@obs)"; string conexao = @"Data Source=RAMILSONPC;Initial Catalog=bancoteste;User ID=sa;Password=sasa;Pooling=False"; string nome = txtNome.Text; string obs = txtObs.Text; using (SqlConnection conn = new SqlConnection(conexao)) { conn.Dispose(); conn.ConnectionString = conexao; conn.Open(); SqlCommand comand = new SqlCommand(); comand.CommandText = sql; comand.CommandType = CommandType.Text; comand.Parameters.Add(new SqlParameter("@nome", nome)); comand.Parameters.Add(new SqlParameter("@obs", obs)); comand.ExecuteNonQuery(); //Erro dá bem aqui MessageBox.Show("CADASTRADO..."); }
Aquele que puder me ajudar a melhorar esta solução e principalmente mostrar onde errei, eu agradeço e muito, pois fiquei o dia inteiro deste sábado nisso.Obrigado pela atenção.
Respostas
-
Você precisa informar ao objeto command um objecto connection, no caso SqlConnection.
Tente:
using (SqlConnection conn = new SqlConnection(conexao)) { conn.ConnectionString = conexao; SqlCommand comand = new SqlCommand(); comand.Connection = conn; // <<< Veja comand.CommandText = sql; comand.CommandType = CommandType.Text; comand.Parameters.Add(new SqlParameter("@nome", nome)); comand.Parameters.Add(new SqlParameter("@obs", obs)); conn.Open(); comand.ExecuteNonQuery(); MessageBox.Show("CADASTRADO..."); }
--
Marque as respostas e ajude a melhorar a busca do fórum.- Sugerido como Resposta Fernando Henrique Inocêncio Borba FerreiraMicrosoft employee, Moderator domingo, 27 de novembro de 2011 12:50
- Marcado como Resposta Ramilson Silva domingo, 27 de novembro de 2011 16:04
Todas as Respostas
-
Você precisa informar ao objeto command um objecto connection, no caso SqlConnection.
Tente:
using (SqlConnection conn = new SqlConnection(conexao)) { conn.ConnectionString = conexao; SqlCommand comand = new SqlCommand(); comand.Connection = conn; // <<< Veja comand.CommandText = sql; comand.CommandType = CommandType.Text; comand.Parameters.Add(new SqlParameter("@nome", nome)); comand.Parameters.Add(new SqlParameter("@obs", obs)); conn.Open(); comand.ExecuteNonQuery(); MessageBox.Show("CADASTRADO..."); }
--
Marque as respostas e ajude a melhorar a busca do fórum.- Sugerido como Resposta Fernando Henrique Inocêncio Borba FerreiraMicrosoft employee, Moderator domingo, 27 de novembro de 2011 12:50
- Marcado como Resposta Ramilson Silva domingo, 27 de novembro de 2011 16:04
-