Array
(
)

Qual melhor forma de inserir um registro no banco?

Albertodiogo
   - 28 set 2009

LEVANDO EM CONSIDERAÇÃO DESEMPENHO, QUAL MELHOR FORMA DE INSERIR UM REGISTRO NO BANCO???

PRIMEIRA OPÇÃO: recebendo parametros.

public static bool inserir(string param1, string param2)
{
conexao();

string strSql = ´insert into TABELA values (´ + param1 + param2 +´)´;

SqlCommand cmdSql = new SqlCommand(strSql, oCon);

bool inserido = Convert.ToBoolean(cmdSql.ExecuteNonQuery());

oCon.Close();

return inserido;
}

SEGUNDA OPÇÃO: adicionando parametros

public static bool inserir(string param1, string param2)
{
conexao();

string strSql = ´insert into TABELA values (@param1, @param2)´;

SqlCommand cmdSql = new SqlCommand(strSql, oCon);

cmdSql.Parameters.AddWithValue(´@param1´, valor1);
cmdSql.Parameters.AddWithValue(´@param2´, valor2);

bool inserido = Convert.ToBoolean(cmdSql.ExecuteNonQuery());

oCon.Close();

return inserido;
}

OU EXISTE UMA FORMA MELHOR ???

Netasper
   - 16 out 2009

ALberto,

Com certeza é usando parametros. Nunca concatene as variaveis na query de string sql, isto viabiliza erros de tipagem e ate mesmo injeção de codigo (sql injection) mal intencionados. Aconselho você a usar uma Biblioteca da MS gratuita chamada Data Access Application Blocks (DAAB) Enterprise Library.

Com ela vc consegue fazer todas as funções de conexão na base, inserts, deletes, transações e etc. E tudo usando parametros.

Caso tenha duvidas, de uma olhada em algumas video aulas aqui mesmo da DevMedia, tipo esta:

http://www.devmedia.com.br/articles/viewcomp.asp?comp=3215

Me ajudaram bastante.... e agora so uso DAAB em meus projetos.

Abraços
Att
NetAsper