RainMaker 0 Denunciar post Postado Maio 24, 2007 tenho aki o seguinte codigo public static void Deletar(string A) { //Determina string de conexão StringBuilder Deletar = new StringBuilder("DELETE FROM REGISTRO WHERE CODIGO=????"); string strConexao = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=G:\\Sistemas\\C#\\cadastro2\\cadastro1\\cadastro1\\index.mdb"; //Instancia Objeto de conexão OleDbConnection objConexao = new OleDbConnection(strConexao); //Instancia Objeto de comando com parâmetro OleDbCommand objComando = new OleDbCommand(Deletar.ToString(), objConexao); objConexao.Open(); objComando.ExecuteNonQuery(); objConexao.Close(); MessageBox.Show("Registro excluido com Sucesso!"); } }}eu qro fazer o seguinte, o parametro "string A" recebe o texto de uma textbox no meu programa principal, soh q eu nao estou sabendo como eu posso fazer para q o registro deletado seja esse A, como eu posso colocar uma variavel na string de DELETE ali?! vlw Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 24, 2007 StringBuilder Deletar = new StringBuilder("DELETE FROM REGISTRO WHERE CODIGO="& A); Compartilhar este post Link para o post Compartilhar em outros sites
RainMaker 0 Denunciar post Postado Maio 24, 2007 StringBuilder Deletar = new StringBuilder("DELETE FROM REGISTRO WHERE CODIGO="& A);tentei fazer isso...mas aparece q o operador & nao pode ser usado com string nem int oO Compartilhar este post Link para o post Compartilhar em outros sites
eriva_br 7 Denunciar post Postado Maio 24, 2007 StringBuilder Deletar = new StringBuilder("DELETE FROM REGISTRO WHERE CODIGO="& A);tentei fazer isso...mas aparece q o operador & nao pode ser usado com string nem int oOem C# o operador de concatenação é o +StringBuilder Deletar = new StringBuilder("DELETE FROM REGISTRO WHERE CODIGO='" + A + "'");se A fosse INT, dai era só usar a propriedade .ToString()StringBuilder Deletar = new StringBuilder("DELETE FROM REGISTRO WHERE CODIGO='" + A.ToString() + "'");ou então como você esta usando StringBuilder você poderia usar o método AppendStringBuilder Deletar = new StringBuilder("DELETE FROM REGISTRO WHERE CODIGO='" + A.ToString() + "'"); Deletar.Append(A.ToString()); Deletar.Append("'");...porém, concatenando desta forma, tu corre riscos de SQL Injection, veja esse post sobre o SQL Injection : http://forum.imasters.com.br/index.php?showtopic=229310 o post esta no forum de SQL Server, porem o SQL Injection pode ser aplicado em qualquer banco de dadospara contonar isto você pode usar parâmetros, dai só mudaria isso:no comando SQL você definiria os parâmetros, em SQL server é com @ (arroba), access acredito que seja @ (arroba) tb., mysql é com ? (interrogação)exemplo, abaixo definimos o parâmetro código como "@CODIGO":StringBuilder Deletar = new StringBuilder("DELETE FROM REGISTRO WHERE CODIGO=@CODIGO");depois é só adicionar os parametros:OleDbCommand objComando = new OleDbCommand(Deletar.ToString(), objConexao); objComando.Parameters.Add(new Parameter("@CODIGO", TypeCode.Char, A)); //<--Parametros objConexao.Open(); objComando.ExecuteNonQuery(); objConexao.Close();t+ Compartilhar este post Link para o post Compartilhar em outros sites