Alterar Cadastro C# com Sql Server 2008
23/06/2010
0
private void btnAlterar_Click(object sender, EventArgs e) { try { if (txtCodigo.Text != "") { SqlConnection conn = new SqlConnection(@"Data Source=DAMASCENO-PC\SQLEXPRESS1; Initial Catalog=cadcd;Integrated Security=True;Pooling=False"); SqlCommand comm = new SqlCommand(); comm.Connection = conn; comm.CommandText = "UPDATE cadcd SET TIPO = '" + ddlTipo.Text + "', TITULO = '" + txtTitulo.Text + "', DESCRICAO = '" + richTxtDescr.Text + "WHERE REGISTRO = " + (txtCodigo.Text) + ""; // UPDATE cadcd set TIPO='-DIVERSOS', TITULO='TESTE1', DESCRICAO='TESTE1' where REGISTRO=007 comm.Parameters.AddWithValue("@REGISTRO", txtCodigo.Text); comm.Parameters.AddWithValue("@TIPO", ddlTipo.Text); comm.Parameters.AddWithValue("@TITULO", txtTitulo.Text); comm.Parameters.AddWithValue("@DESCRICAO", richTxtDescr.Text); conn.Open(); conn.Close(); MessageBox.Show("Midia alterada com sucesso!"); } else { MessageBox.Show("Informe o código da mídia"); } }
Bruno Damasceno
Posts
23/06/2010
Pedro Maitan
adiciona isso: conn.ExecuteNonQuery();
23/06/2010
Gustavo Oliveira
Então como diz o Pedro esse comando você tem que chamar.
Observer esse comando porem utilizando o Firebird como SGBD.
[CODE]public static void updateChequeStatus()
[CODE] {
[CODE] try
[CODE] {
[CODE] FbConnection fbConectar = new FbConnection(Class.classBd.ClassStringConexao.stringConexao);
[CODE] fbConectar.Open();
[CODE] FbDataAdapter fbUpdate = new FbDataAdapter("update cheque set idstatus = @idstatus where [CODE]num = '" + Class.ClassCheque.ClassChequeVAR.num + "'", fbConectar);
[CODE] fbUpdate.SelectCommand.Parameters.Clear();
[CODE] fbUpdate.SelectCommand.Parameters.Add("@idstatus", [CODE]Class.ClassCheque.ClassChequeVAR.idstatus);
[CODE] fbUpdate.SelectCommand.ExecuteNonQuery();
[CODE] fbConectar.Close();
[CODE] }
[CODE] catch (FbException exe)
[CODE] {
[CODE] Class.classBd.ClassDbError.MensagemErro(exe.Errors.Count);
[CODE] }
[CODE] }
Observer que a conexao foi aberta antes e o EceuteNomQuery logo apos que o sql recebe os parametros.
espero ter ajudado.
24/06/2010
Bruno Damasceno
25/06/2010
Bruno Damasceno
conn.Open(); conn.ExecuteNonQuery(); conn.Close();
Fiz um teste, coloquei o seguinte código:
conn.Open(); comm.ExecuteNonQuery(); conn.Close();
conn.Open(); comm.ExecuteNonQuery(); conn.Close();
25/06/2010
Erickson Nascimento
25/06/2010
Bruno Damasceno
catch { MessageBox.Show("Erro na alteração do cadastro", "Mensagem do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
Ou meu fonte de Botão "Alterar" está assim:
private void btnAlterar_Click(object sender, EventArgs e) { try { if (txtCodigo.Text != "") { SqlConnection conn = new SqlConnection(@"Data Source=DAMASCENO-PC\SQLEXPRESS1; Initial Catalog=cadcd;Integrated Security=True;Pooling=False"); SqlCommand comm = new SqlCommand(); comm.Connection = conn; comm.CommandText = "UPDATE cadcd SET TIPO = '" + ddlTipo.Text + "', TITULO = '" + txtTitulo.Text + "', DESCRICAO = '" + richTxtDescr.Text + "WHERE REGISTRO = " + (txtCodigo.Text) + ""; // UPDATE cadcd set TIPO='-DIVERSOS', TITULO='TESTE1', DESCRICAO='TESTE1' where REGISTRO=007 comm.Parameters.AddWithValue("@REGISTRO", txtCodigo.Text); comm.Parameters.AddWithValue("@TIPO", ddlTipo.Text); comm.Parameters.AddWithValue("@TITULO", txtTitulo.Text); comm.Parameters.AddWithValue("@DESCRICAO", richTxtDescr.Text); conn.Open(); comm.ExecuteNonQuery(); conn.Close(); MessageBox.Show("Midia alterada com sucesso!"); } else { MessageBox.Show("Informe o código da mídia"); } } catch { MessageBox.Show("Erro na alteração do cadastro", "Mensagem do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
26/06/2010
Gustavo Oliveira
"WHERE REGISTRO = " + (txtCodigo.Text) + "";
tenta colocar assim.
"WHERE REGISTRO = '" + txtCodigo.Text + "'";
NO FIREBIRD quando se trata de string nesta situação ficaria assim.
26/06/2010
Bruno Damasceno
comm.CommandText = "UPDATE cadcd SET TIPO = '" + ddlTipo.Text + "', TITULO = '" + txtTitulo.Text + "', DESCRICAO = '" + richTxtDescr.Text + "' " + "WHERE REGISTRO = " + (txtCodigo.Text) + "";
26/06/2010
Juscélio Reis
comm.Parameters.AddWithValue("@REGISTRO", txtCodigo.Text);comm.Parameters.AddWithValue("@TIPO", ddlTipo.Text);comm.Parameters.AddWithValue("@TITULO", txtTitulo.Text);comm.Parameters.AddWithValue("@DESCRICAO", richTxtDescr.Text);
se vc utiliza concatenação de string
comm.CommandText = "UPDATE cadcd SET TIPO = '" + ddlTipo.Text + "', TITULO = '" + txtTitulo.Text + "', DESCRICAO = '" + richTxtDescr.Text +"WHERE REGISTRO = " + (txtCodigo.Text) + "";
Uma boa pratica é utilizar:comm.CommandText = "UPDATE cadcd SET TIPO = @TIPO, TITULO = @TITULO, DESCRICAO = @DESCRICAO WHERE REGISTRO = @REGISTRO";comm.Parameters.AddWithValue("@REGISTRO", txtCodigo.Text);comm.Parameters.AddWithValue("@TIPO", ddlTipo.Text);comm.Parameters.AddWithValue("@TITULO", txtTitulo.Text);comm.Parameters.AddWithValue("@DESCRICAO", richTxtDescr.Text);Percebe a diferença? Isso ajuda até na questão de segurança. Da outra forma, vc tem codigo q tecnicamente não esta utilizando.
27/06/2010
Bruno Damasceno
28/06/2010
Netasper
public DataTable BuscarDownloads(string palavraChave)
{
StringBuilder sql = new StringBuilder();
sql.Append("select * from downloads where cod_turma is null and ");
sql.Append("nom_download like '%%' ");
sql.Append("order by nom_download");
cmd.CommandText = String.Format(sql.ToString(), palavraChave);
acesso.ExecuteQuery(ref cmd, ref resultado);
return resultado;
}
e chame-o de seu Form
[]s
Clique aqui para fazer login e interagir na Comunidade :)