NÃO CONSIGO INSERIR DADOS EM TABELA C#

PEDROPIMENTEL 28/02/2015 23:23:04
#444857
Prezados,
boa noite.

Sou novo por aqui e espero não estar postando uma dúvida repetitiva.

é o seguinte:
estou criando um software em C# para meu irmão, ele é professor de música e deseja ter um controle das aulas que serão dadas. Horário, data.
Bem como cadastrar alunos, novos planos e tal.

Consegui cadastrar novos planos na tblPlanos no meu banco (SGBD é SQL Server Express 2014), porém não estou conseguindo cadastrar um novo aluno usando como exemplo o cadastro de plano.

Criei uma tabela temporária chamada tblTemp pra tentar achar o erro mais rápido, ela possui apenas duas colunas: ID (int) e Nome (Varchar(25)).
Tanto nesta tabela, quanto na de alunos não estou conseguindo cadastrar. Nenhum erro é mostrado, nenhuma falha, porém nada é cadastrado

Segue método:

private void btnConfirmar_Click_1(object sender, EventArgs e)
{
try
{
SqlConnection conn = classConexao.obterConexao();

if (conn == null)
{
MessageBox.Show([Ô]Falha ao conectar.[Ô]);
}

else
{
MessageBox.Show([Ô]Conexão efetuada com sucesso.[Ô]); //A CONEXÃO FUNCIONA NORMALMENTE, ESTA MENSAGEM SEMPRE é MOSTRADA
}

String cadastrarAluno = [Ô]INSERT INTO tblTemp VALUES ([ô]Teste [ô])[Ô]; //JÁ TENTEI TAMBéM: INSERT INTO tblTemp (ID, Nome) VALUES ([ô]Teste[ô])
SqlCommand comando = new SqlCommand(cadastrarAluno, conn);

comando.Parameters.AddWithValue([Ô]@nome[Ô], SqlDbType.VarChar); //JÁ TENTEI USAR NESTA LINHA Nome com letra maiúscula: [Ô]@Nome[Ô]
}
catch (Exception erro)
{
MessageBox.Show(erro + [Ô]Erro!![Ô]);
}
}

Alguém poderia me ajudar?
Desde já agradeço.
OMAR2011 01/03/2015 16:21:32
#444860
Sou muito cru no C#, mas é + ou - assim.
string connection =[Ô]Server=localhost;Database=TesteOmar; Trusted_Connection=yes[Ô];
SqlConnection Conn = new SqlConnection(connection);
Conn.Open();
String cadastrarAluno = [Ô]INSERT INTO teste(Cod,Nome) VALUES (@Cod,@Nome)[Ô]; //JÁ TENTEI TAMBéM: INSERT INTO tblTemp (ID, Nome) VALUES ([ô]Teste[ô])
SqlCommand comando = new SqlCommand(cadastrarAluno, Conn);
comando.Parameters.AddWithValue([Ô]@Cod[Ô], txt1.Text);
comando.Parameters.AddWithValue([Ô]@Nome[Ô],txt2.Text); //JÁ TENTEI USAR NESTA LINHA Nome com letra maiúscula: [Ô]@Nome[Ô]

comando.ExecuteNonQuery();
MessageBox.Show([Ô]Registro incluido com sucesso![Ô]);
PEDROPIMENTEL 01/03/2015 20:49:08
#444863
Citação:

:
Sou muito cru no C#, mas é + ou - assim.
string connection =[Ô]Server=localhost;Database=TesteOmar; Trusted_Connection=yes[Ô];
SqlConnection Conn = new SqlConnection(connection);
Conn.Open();
String cadastrarAluno = [Ô]INSERT INTO teste(Cod,Nome) VALUES (@Cod,@Nome)[Ô]; //JÁ TENTEI TAMBéM: INSERT INTO tblTemp (ID, Nome) VALUES ([ô]Teste[ô])
SqlCommand comando = new SqlCommand(cadastrarAluno, Conn);
comando.Parameters.AddWithValue([Ô]@Cod[Ô], txt1.Text);
comando.Parameters.AddWithValue([Ô]@Nome[Ô],txt2.Text); //JÁ TENTEI USAR NESTA LINHA Nome com letra maiúscula: [Ô]@Nome[Ô]

comando.ExecuteNonQuery();
MessageBox.Show([Ô]Registro incluido com sucesso![Ô]);



Obrigado pela resposta OMAR2011, porém não funcionou.
Minha coluna ID está setada como PK e por isso não preciso informá-la no comando em SQL. Fiz dessa forma no cadastro de plano e havia funcionado. Já no cadastro de aluno não dá.

Tentei como vc informou e de outras maneiras também, com e sem ID na linha comando.Parameters.AddWithValue([Ô]@Nome[Ô], textNomeAluno.Text), tentei também
comando.Parameters.AddWithValue([Ô]@Nome[Ô], SqlDBType.VarChar) - Sem sucesso mais uma vez.

Muitas horas de sábado e domingo perdido sem conseguir nada
OMAR2011 01/03/2015 22:55:58
#444865
Chave primária não quer dizer que não precise de parâmetros.
Vai depender de como definiu sua chave primária,
Se ela não for identity Increment vai precisar dos parâmetros.
Fiz o teste tanto com Increment e sem increment.
Funcionou legal aqui no meu teste sem erro nenhum.
PEDROPIMENTEL 03/03/2015 13:15:18
#444899
Pois é,
tentei muito aqui e não vai.

Ontem consegui usando o comando ExecuteNonQuery, apenas na tblTemp.
Já na tblAlunos não vai...

Tá brabo.
Faça seu login para responder