Ir para conteúdo

POWERED BY:

Arquivado

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

AspAL

O que há de errado com essa tag?

Recommended Posts

Essa tag pega um campo do banco, de acordo com outro.VARIAVEL = RS("curso") WHERE ID='" & SESSION("USER_ID")ou seja, ela armazena em VARIAVEL o valor do campo CURSO que está no banco, dependendo do ID do kra. O que ha de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tudo =Dbrincadeira...rsVARIAVEL = RS("curso") & " WHERE ID=" & SESSION("USER_ID")pronto, assim deve funcionar... se o campo for NUMERICO (ID) tira o apostrofo, caso for texto, coloque, ficando assimVARIAVEL = RS("curso") & " WHERE ID='" & SESSION("USER_ID") & "'"Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

tudo =Dbrincadeira...rsVARIAVEL = RS("curso") & " WHERE ID=" & SESSION("USER_ID")pronto, assim deve funcionar... se o campo for NUMERICO (ID) tira o apostrofo, caso for texto, coloque, ficando assimVARIAVEL = RS("curso") & " WHERE ID='" & SESSION("USER_ID") & "'"Abraços

hUm... pegou n... mas acho q essa tag está certa, o erro deve ser em outro ponto... vou verificar, e dou um retorno. Obrigado pelo post! Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem como a sua variavel esta certa... rsvocê ta pegando um valor, pondo outro valor do lado sem concatenar... (&)é mais facil, você postar o trecho todo do seu código para ter noção de como você ta fazendo e se tiver rolando erro, posta-lo tb ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem como a sua variavel esta certa... rsvocê ta pegando um valor, pondo outro valor do lado sem concatenar... (&)é mais facil, você postar o trecho todo do seu código para ter noção de como você ta fazendo e se tiver rolando erro, posta-lo tb ;)

Na verdade, se eu fosse postar tudo, seria mt complicado, e certamente vcs n teriam o menor saco de ler. hehehe... então vou resumir: o kra clica em "adicionar esse curso à minha lista", e esse código tem que adicionar o valor da id do curso, em uma tabela específica pra isso. O While serve pra verificar se o curso já foi adiconado na tabela. Se foi, ele dá erro. O código é o seguinte:<% DIM CONEXAO, RS, ID, ID_CURSO, ID_COMPARA, SQL SET CONEXAO = SERVER.CREATEOBJECT("ADODB.CONNECTION") CONEXAO.OPEN "PROVIDER = MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & SERVER.MAPPATH("bd.mdb") SET RS = CONEXAO.EXECUTE("SELECT * FROM escolha") ID = SESSION("user_id") ID_CURSO = SESSION("ID_CURSO") DO WHILE NOT RS.EOF ID_COMPARA = RS("id_curso") & WHERE ID='" & SESSION("USER_ID") IF (ID_COMPARA=ID_CURSO) THEN RESPONSE.REDIRECT "ERRO.ASP" END IF RS.MOVENEXT LOOP SQL = "INSERT INTO escolha (id_aluno,id_curso) VALUES ('"&id&"','"&id_curso&"')"On error Resume NextSet RS = CONEXAO.Execute(SQL)CONEXAO.closeSet RSTABELA = NothingSet CONEXAO = Nothingif err = 0 Then response.redirect "sucesso.asp"end if%>O que há de errado? Já rodei td e n entendo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara usa o WHERE no seu select direto...

 

exemplo

 

<%DIM CONEXAO, RS, ID, ID_CURSO, ID_COMPARA, SQLSET CONEXAO = SERVER.CREATEOBJECT("ADODB.CONNECTION")CONEXAO.OPEN "PROVIDER = MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & SERVER.MAPPATH("bd.mdb")SET RS = CONEXAO.EXECUTE("SELECT * FROM escolha WHERE id_curso=" & SESSION("ID_CURSO") & " AND usuario='" & SESSION("user_id") & "'")IF NOT RS.EOF THENID_COMPARA = RS("id_curso") & WHERE ID='" & SESSION("USER_ID")RESPONSE.REDIRECT "ERRO.ASP"END IFSQL = "INSERT INTO escolha (id_aluno,id_curso) VALUES ('"&id&"','"&id_curso&"')"On error Resume NextSet RS = CONEXAO.Execute(SQL)CONEXAO.closeSet RSTABELA = NothingSet CONEXAO = Nothingif err = 0 Thenresponse.redirect "sucesso.asp"end if%>

dai você adapta la o select as suas necessidades ;)

 

Abraços e qualquer oicsa posta ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara usa o WHERE no seu select direto...exemplo

<%DIM CONEXAO, RS, ID, ID_CURSO, ID_COMPARA, SQLSET CONEXAO = SERVER.CREATEOBJECT("ADODB.CONNECTION")CONEXAO.OPEN "PROVIDER = MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & SERVER.MAPPATH("bd.mdb")SET RS = CONEXAO.EXECUTE("SELECT * FROM escolha WHERE id_curso=" & SESSION("ID_CURSO") & " AND usuario='" & SESSION("user_id") & "'")IF NOT RS.EOF THENID_COMPARA = RS("id_curso") & WHERE ID='" & SESSION("USER_ID")RESPONSE.REDIRECT "ERRO.ASP"END IFSQL = "INSERT INTO escolha (id_aluno,id_curso) VALUES ('"&id&"','"&id_curso&"')"On error Resume NextSet RS = CONEXAO.Execute(SQL)CONEXAO.closeSet RSTABELA = NothingSet CONEXAO = Nothingif err = 0 Thenresponse.redirect "sucesso.asp"end if%>
dai você adapta la o select as suas necessidades ;) Abraços e qualquer oicsa posta ae
Valeu pelo topic véi!! Mas n sei se seria exatamente isso.. akele meu where dentro do While, é pra comparar sempre se o cara já adicionou o curso que ele quer adicionar.Então, de acordo com o ID do usuário, é recolhido o valor do campo ID_CURSO correspondente.Imagine que no banco tenha os campos ID_CURSO e ID_USUARIO. Se eu tirar aquele while, o código funciona beleza. O problema está nakela verificação. :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara usa o WHERE no seu select direto...exemplo

<%DIM CONEXAO, RS, ID, ID_CURSO, ID_COMPARA, SQLSET CONEXAO = SERVER.CREATEOBJECT("ADODB.CONNECTION")CONEXAO.OPEN "PROVIDER = MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & SERVER.MAPPATH("bd.mdb")SET RS = CONEXAO.EXECUTE("SELECT * FROM escolha WHERE id_curso=" & SESSION("ID_CURSO") & " AND usuario='" & SESSION("user_id") & "'")IF NOT RS.EOF THENID_COMPARA = RS("id_curso") & WHERE ID='" & SESSION("USER_ID")RESPONSE.REDIRECT "ERRO.ASP"END IFSQL = "INSERT INTO escolha (id_aluno,id_curso) VALUES ('"&id&"','"&id_curso&"')"On error Resume NextSet RS = CONEXAO.Execute(SQL)CONEXAO.closeSet RSTABELA = NothingSet CONEXAO = Nothingif err = 0 Thenresponse.redirect "sucesso.asp"end if%>
dai você adapta la o select as suas necessidades ;) Abraços e qualquer oicsa posta ae
Valeu pelo topic véi!! Mas n sei se seria exatamente isso.. akele meu where dentro do While, é pra comparar sempre se o cara já adicionou o curso que ele quer adicionar.Então, de acordo com o ID do usuário, é recolhido o valor do campo ID_CURSO correspondente.Imagine que no banco tenha os campos ID_CURSO e ID_USUARIO. Se eu tirar aquele while, o código funciona beleza. O problema está nakela verificação. :wacko:
Cara isso é o que falei... faz a verificação no SELECTnão existe usar o WHERE fora da clausula SQL, pq simplismente isso é um comando SQL... usando o where no select, você faz oq você quer...você mesmo ja deu a solução, você ja disse que esta no banco de dados o ID_CURSO e ID_Usuario, basta usar as sessions no selectSET RS = CONEXAO.EXECUTE("SELECT * FROM escolha WHERE id_curso=" & SESSION("ID_CURSO") & " AND ID_USUARIO=" & SESSION("user_id"))é o que você quer fazer no seu if, mas certo... no maximo confere se os valores estão sendo passados certoass e se os nomes estão certos

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.