Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luiscarlos5046

Tipos de Select diferente e Segurança

Recommended Posts

Olá pessoal!

 

Tenho uma dúvida sobre alguns modos diferentes de utilização dos SELECT e Conexão com MySQL.

 

1º No inicio dos arquivos eu abro a conexão e no final eu fecho a conexão colocando includes.

 

<% ' Include do Abre conexão
Session.LCID = 1046
servidor = "dbmy.servidor.com"
base_de_dados = "bancodedados"
login = "login"
senha = "senha"
strConexao = "Driver={MySQL ODBC 3.51 Driver};SERVER=" & servidor
strConexao = strConexao & "; DATABASE=" & base_de_dados
strConexao = strConexao & "; Uid="& login
strConexao = strConexao & "; Pwd="& senha
set cn = server.CreateObject("ADODB.Connection")
cn.cursorlocation = 3
cn.open strConexao
%>

 

<%  ' Include do Fecha conexão
cn.close()
set cn = nothing
%>

 

Até ai acho que tudo normal!

 

 

2º Qual é a diferença entre estes dois tipos de SELECTS ? Existe alguma diferença e uma maneira que possibilida melhor desempenho e segurança?

 

strSql = " SELECT id,nome FROM clientes "
set rs=Server.CreateObject("ADODB.RecordSet")
rs.Open strSql, cn

 

strSql = " SELECT * FROM duvidas ORDER BY id ASC "
Set rs = Server.CreateObject("ADODB.Recordset")
set rs = cn.execute(strSql)

 

 

3º Em que ocasião eu posso utilizar o CursorType e o LockType?

Sei que existem várias métodos de utilização!

Já tentei utilizar, mas apresenta erro nas paginas ASP, talvez seja onde eu estou colocando essas definições.

 

Link de referência: http://blogasp.wordpress.com/2006/08/02/metodos-de-um-recordset-cursorlocation-cursortype-locktype/

 

O cursorlocation = 3, eu utilizo junto com a conexão, já no exemplo do site é usado junto com o select.

Existe alguma diferença nestes modos ?

 

Obrigado Galera!

 

Luis Carlos - Designer Gráfico

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem diferenças no item 2 sim.

a primeira opção você está abrindo como possibilidade de manipulação dos dados no banco de dados (insert, delete, update). O que faz com que o asp carregue mais informações.

Já na 2a opcao, você está abrindo como leitura (datareader) assim fica mais leve.

Mas, na verdade, dificilmente você vai reparar diferença de desempenho entre eles.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este artigo, existem muitas diferenças entre usar o tipo correto de bloqueio e cursor , depende do tipo de comando SQL, o engine do SQL se comporta melhor, no segundo item o SQl com o * chama todos os campos, diferente do outro , onde você invoca apenas os que são necessário, isso em uma aplicação normal, não existem tanto ganho de desempenho, mas em umsite com milhões de acessos diários , você verá uma certa perda de desempemnho, tem um rtgo que postei sobre como usar o cursor e o locktype, dá uma pequisada, e qualquer coisa posta ae.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae xanburzum,

Existem muitas funções do ASP que eu ainda nem conhecia.

Esse CursorType, LockType e o CursorLocation podem ser utilizados com MySQL tbm?

Outra coisa.

O CursorLocation eu costumo usar junto com o include do AbreConexão.. pode ser assim ou deve ser usado sempre junto ao criar o RS na página??

 

 

Parabéns pela explicação... muito obrigado.

 

Luis Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.