Fórum Alterar Cadastro C# com Sql Server 2008 #380037
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
Curtir tópico
+ 0Posts
23/06/2010
Pedro Maitan
adiciona isso: conn.ExecuteNonQuery();
Gostei + 0
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.
Gostei + 0
24/06/2010
Bruno Damasceno
Gostei + 0
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();
Gostei + 0
25/06/2010
Erickson Nascimento
Gostei + 0
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);
}
}
Gostei + 0
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.
Gostei + 0
26/06/2010
Bruno Damasceno
comm.CommandText = "UPDATE cadcd SET TIPO = '" + ddlTipo.Text + "', TITULO = '" + txtTitulo.Text + "', DESCRICAO = '" + richTxtDescr.Text + "' " + "WHERE REGISTRO = " + (txtCodigo.Text) + "";
Gostei + 0
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.
Gostei + 0
27/06/2010
Bruno Damasceno
Gostei + 0
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)