Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galerinha,
minha dúvida é a seguinte:
Tenho visto pela net 3 formas de se criar uma consulta, e gostaria de saber qual é a mais correta.
1ª Forma:
set rs = Server.CreateObject("ADODB.Recordset") rs.activeconnection = db_sql_vulcanf rs.CursorLocation = 3 rs.CursorType = 0 rs.LockType = 1 rs.source = "select * from tabela rs_vsafp11.open()
2ª Forma:
sql = "select * from tabela set rs = Server.CreateObject("ADODB.Recordset") rs.activeconnection = db_sql_vulcanf rs.CursorLocation = 3 rs.CursorType = 0 rs.LockType = 1 set rs = objconexao.execute(sql)
3ª Forma:
sql = "select * from tabela set rs = Server.CreateObject("ADODB.Recordset") rs.activeconnection = db_sql_vulcanf rs.CursorLocation = 3 rs.CursorType = 0 rs.LockType = 1 rs.Open sql, objConexao, adOpenStatic, adLockReadOnly, adCmdText
Agradeço muito pela ajuda !
Abraços,
P@KO
Amigo pra mim todas são corretas, agora vai no caso "pessoal":
Prefiro a 2ª Forma!
Posso estar enganado, mas a 2ª forma não é a mais correta de ser feita pois está "setando" o mesmo "objeto" mas de formas completamente distintas, uma coisa é você setar um RecordSet dizendo que é um ADO outra é setando um "conexão.execute". Ao setar o ADODB.RecordSet você tem mais opções de controle do mesmo, com um "conexão.execute" não é possível, por exemplo, gerar uma paginação de recordset eficiente.
Realmente Salgado ñ tinha reparado nisso mais, não precisava setar assim:
Poderia atuar assim tbm:
Conn.CursorLocation = 3
Set RS = Server.CreateObject("Adodb.RecordSet")
RS.Open "Select * From Tabela",Conn
Assim fica fácil para paginar, mais eficiente!
Obrigado galera !você´s usam os rs.CursorLocation = 3 rs.CursorType = 0 rs.LockType = 1????Vale a pena usar ?Abraço,P@KO
Obrigado galera !você´s usam os rs.CursorLocation = 3rs.CursorType = 0rs.LockType = 1????Vale a pena usar ?Abraço,P@KO
setar o objeto vai depender exclusivamente da finalidade de cada um
No meu caso é o seguinte: Eu estou trabalhando com 2 bancos de dados, um SQL SERVER e um DB2, no qual o DB2 está trabalhando com 99,9% do seu processamento. Gostaria de saber se eu setar o objeto rs_vsafp13.CursorLocation = adUseClient se isso melhoraria na performance do meu banco de dados DB2 ????E qual seria o outro objeto que eu poderia setar para melhorar a performance do meu Banco de Dados.Obrigado pela ajuda.P@KO
vamos falar em performance dos código, melhor.
tem um tópico aki que é muito interessante pra o aspecto performance:
cara eu não uso nenhuma das opções, a que uso é a segunte:
sql = "SELECT * FROM TABELA"set rs = server.createobject("adodb.recordset")rs.open sql,objConexao,3,3 'caso for apenas consulta use 1,1 no lugar do 3,3