Ir para conteúdo
Fórum Script Brasil

Camisa

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Posts postados por Camisa

  1. Bom dia pessoal...

    estou tentando entender a lógica do for each, mas ainda não consegui...

    alguém poderia me falar o que esta errado no script abaixo???

    alguém poderia me fornecer a solução??

    set rs=Server.CreateObject("ADODB.recordset")
    
    SQL =       "SELECT * "
    SQL = SQL & "  FROM exame"
    SQL = SQL & " ORDER BY exame_nome"
    
    rs.Open SQL, Conexao
    
    While Not rs.EOF
    
    rs.MoveNext
    Wend
    for each valor in rs("id") 
       response.write "id: " & rs("id") & " - nome: " & rs("nome")
    next

    grato

    Camisa

  2. alguém saberia me dizer o porque que o código abaixo não funciona . . .

    ele simplesmente retorna uma página em branco

    <%
    Set Conexao = Server.CreateObject("Adodb.Connection")
    Conexao.ConnectionString = "DBQ=" & Server.MapPath("../../databases/123/123db.mdb") & ";"
    Conexao.ConnectionString = Conexao.ConnectionString & "Driver={Microsoft Access Driver (*.mdb)};uid=Admin; password=XXXXXXX"
    Conexao.Open
    
    
    Sub RenderTableConstraints(strTableName, conexao)
    
      Dim strQuery
      Dim strConstraintName, strConstraintType, strConstraintDetails
      Dim oRsConstraintList
      
      '--- Get the list of constraints on the table.
      strQuery = "SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME='" + strTableName + "'"
      Set oRsConstraintList = conexao.Execute(strQuery)
    
      Response.Write("<BR><BR><B>Constraints</B>")
        
      '--- Start a table for the list of columns.
    
      Response.Write("<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=2 WIDTH=100% Class=Normal bordercolor=Navy>")
    
      Response.Write("<TR>")
      Response.Write("<TD WIDTH='25%'>Constraint Type</TD>")
      Response.Write("<TD WIDTH='35%'>Constraint Name</TD>")
      Response.Write("<TD WIDTH='40%'>Fields(PK,FK) / Clause(CHECK)</TD>")
      Response.Write("</TR>")
      
      '--- Loop to parse to the list of columns.
      While (Not oRsConstraintList.EOF)
      
        '--- Store the constraint name and type.
        strConstraintName = oRsConstraintList("CONSTRAINT_NAME")
        strConstraintType = oRsConstraintList("CONSTRAINT_TYPE")
        
        '--- Get constraint details based on the constraint type.
        If (strConstraintType = "CHECK") Then
          strConstraintDetails = GetClauseForConstraint(strConstraintName, conexao)
        Else
          strConstraintDetails = GetColumnsForConstraint(strConstraintName, strTableName, conexao)
        End If
      
        '--- Output the details of each column.
        Response.Write("<TR>")
        Response.Write("<TD>" + strConstraintType + "</TD>")
        Response.Write("<TD>" + strConstraintName + "</TD>")
        Response.Write("<TD>" + strConstraintDetails + "</TD>")
        Response.Write("</TR>")    
         
        '--- Move to the next column.
        oRsConstraintList.MoveNext
      Wend
        
      '--- End the table for columns.
      Response.Write("</TABLE><br><br>")
      
      '--- Clean up.
      Set oRsConstraintList = Nothing
    End Sub
    
    Function GetClauseForConstraint(strConstraintName, conexao)
    
      Dim strQuery
      Dim oRs
      
      '--- Build query to get the column list for constraint.
      strQuery = "SELECT c.CHECK_CLAUSE " + _
                 "FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS c " + _
                 "WHERE ( c.constraint_name = '" + strConstraintName + "')"
        
      '--- Use connection and get the recordset.
      Set oRs = conexao.Execute(strQuery)
      
      '--- Return the string.
      GetClauseForConstraint = oRs("CHECK_CLAUSE")
      
    End Function
    
    
    '------------------------------------------------------------------
    '--- To get the list of cols associated with constraint as , delimited str.
    '------------------------------------------------------------------
    Function GetColumnsForConstraint(strConstraintName, strTableName, conexao)
    
      Dim iCount
      Dim strQuery, strFldNames
      Dim oRs
      
    
      '--- Build query to get the column list for constraint.
      strQuery = "SELECT d.column_name " + _
                 "FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE d " + _
                 "WHERE (d.constraint_name = '" + strConstraintName + " ') " + _
                 "ORDER BY d.ordinal_position"
        
      '--- Use connection and get the recordset.
      Set oRs = conexao.Execute(strQuery)
      
      '--- Initialize the field names string.
      strFldNames = "": iCount = 0
      
      '--- Loop to build a comma delimited string.
      While (Not oRs.EOF)
        '--- Add a comma separator between 2 column names.
        If (iCount > 0) Then strFldNames = strFldNames + ", "
        
        '--- Add the next field name.
        strFldNames = strFldNames + oRs("column_name")
      
        '--- Move to next row and increment counter.
        oRs.MoveNext: iCount = iCount + 1
      Wend
      
      '--- Return the column names as a comma delimited string.
      GetColumnsForConstraint = strFldNames
      
    End Function
    
    conexao.Close
    Set conexao = Nothing
    
    %>

    Obrigado

    Marcelo Camisa

  3. existe uma tabela de exames assim?

    exame_numero exame_nome id

    existem 40 linhas preenchidas nesta tabela

    como simplificar algo assim

    set rs01=Server.CreateObject("ADODB.recordset")
                SQL =       "SELECT * "
                SQL = SQL & "  FROM exame"
                SQL = SQL & " WHERE exame_numero = '1'"
                rs01.Open SQL, Conexao
                While Not rs01.EOF
                    o_nome_exame_1 = rs01("exame_nome")
                rs01.MoveNext
                Wend
    
                set rs02=Server.CreateObject("ADODB.recordset")
                SQL =       "SELECT * "
                SQL = SQL & "  FROM exame"
                SQL = SQL & " WHERE exame_numero = '2'"
                rs02.Open SQL, Conexao
                While Not rs02.EOF
                    o_nome_exame_2 = rs02("exame_nome")
                rs02.MoveNext
                Wend
    
                set rs03=Server.CreateObject("ADODB.recordset")
                SQL =       "SELECT * "
                SQL = SQL & "  FROM exame"
                SQL = SQL & " WHERE exame_numero = '3'"
                rs03.Open SQL, Conexao
                While Not rs03.EOF
                    o_nome_exame_3 = rs03("exame_nome")
                rs03.MoveNext
                Wend
    
                set rs04=Server.CreateObject("ADODB.recordset")
                SQL =       "SELECT * "
                SQL = SQL & "  FROM exame"
                SQL = SQL & " WHERE exame_numero = '4'"
                rs04.Open SQL, Conexao
                While Not rs04.EOF
                    o_nome_exame_4 = rs04("exame_nome")
                rs04.MoveNext
                Wend

    ... e assim até o numero 40

    Marcelo Camisa

  4. cara, tenta dividir o cadastro em 2 ou em 3 página

    o usuário prenche uma parte do form

    por exemplo, que esta na página form1.asp

    você joga este form pra página form2.asp

    la você cadastra os dados já fornecidos e abre um novo form na mesma página com outra parte do cadastro e manda pra form3.asp

    la você atualiza o bd criado na página anterior e se form preciso, abre um novo form na mesma página com o resto do cadastro e manda pra página form4.asp, atualiza o bd e assim sucessivamente

    mais aqui entre nós, muitos dados espantam os usuários

    tenta simplificar este formulário . . .

    Marcelo Camisa

  5. realmente dessa forma fica inviavel. Vamos por partes, esses exames s�sequenciais? tipo... 1, 2, 3, 4, 5.....39, 40 ? Sem pular valores??

    e, na sua tabela ele tem todos esses exames mas que ficam com campos em brancou ou quando n�tem ele n�insere valor nenhum?

    vamos por partes

    a tabela � seguinte

    tabela exame

    campo exame_numero

    campo exame_nome

    campo obs

    campo id

    mais no cadastro, foram limitados 40 exames no m�mo

    ao cadastrar, eu pego o maior valor do campo exame_numero e acrescento 1 a ele

    ent�podem ter apenas 1, ou 5 ou os 40

  6. eu tenho uma tabela e nela algusn dados, mais nunca saberei quantos estão realmente preenchidos, então:

    fiz o seguinte . . .

    			sql = "select exame_numero from exame where exame_numero = '1'"
    set ver_exame_1 = conexao.execute(sql)
    if ver_exame_1.eof then
    valor_exame_1 = ""
    else
    valor_exame_1 = "1"
    end if

    sql = "select exame_numero from exame where exame_numero = '2'"
    set ver_exame_2 = conexao.execute(sql)
    if ver_exame_2.eof then
    valor_exame_2 = ""
    else
    valor_exame_2 = "2"
    end if

    sql = "select exame_numero from exame where exame_numero = '3'"
    set ver_exame_3 = conexao.execute(sql)
    if ver_exame_3.eof then
    valor_exame_3 = ""
    else
    valor_exame_3 = "3"
    end if
    [/codebox]

    e vou repetindo isso até, neste caso o exame 40, mais o server demora muito pra dar a resposta, mais funciona perfeitamente, só que ACHO que a cada conexão que ele executa, ele fica mais lento, então gostaria de uma forma de simplificar este código para, se possível ele realizar as 40 buscas em uma única conexão, ou em duas ou em tres mais não em 40 . . . por enquanto agradeço

    Marcelo Camisa

  7. qual o código, ( em asp e não asp.net se for possível ) que eu poderia usar para que ele me retorna-se o maior valor de uma tabela, por exemplo . . .:

    existe um campo em que é autonumeração . . .

    para cada registro que entra na tabela ele aumenta um numero, certo . . .

    como faço pra descobrir qual o maior numero que esta cadastrado nesta tabela . . .

    e antes que alguém sugira, contar os dados não rola, porque no caso de um registro apagado, a numeração automática continua de onde parou . . .

    então se eu tiver 10 dados, apagar o de numero 2 e cadastrar um novo, a autonumeração ira cadastrar este novo como 11 mais ainda terei 10 dados na tabela . . .

    preciso realmente saber qual o maior valor cadastrado no campo autonumeração da tabela . . . como fazer isso?

    Marcelo Camisa

  8. preciso de um código que execute uma keycode ao carregar a página . . .

    pensei em algo assim . . .

    <head>

    <script language="JavaScript">

    function tecla()

    {

    event.keyCode==código da tecla;

    } document.onload=tecla;

    </script>

    </head>

    <BODY onload="java script:return tecla();">

    só que o que acontece, o event.keyCode serve para capturar a tecla e não para executa-la

    preciso de algo pra colocar ali que execute a tecla . . .

    será que alguém pode ajudar . . .

    Marcelo Camisa

  9. é um programa de cadastro de clientes que forneço aos meus clientes, na verdade, é uma atualização do programa que eles já possuem, que foi instalado físicamente em suas máquinas, mais como trabalho com clientes de fora da minha cidade, gostaria de facilitar o processo de atualização . . . em relação aos códigos solicitados acima, tembém preciso de um código que substitua o

    Set FSO = Server.CreateObject("Scripting.FileSystemObject")

    Set NovaPasta = FSO.CreateFolder("c:\NovaPasta")

    já que este código não funciona em Windows XP nem em Windows VISTA que devolvem o seguinte erro:

    Microsoft VBScript runtime error '800a0046'

    Permission denied

    No aguardo . . . Marcelo Camisa

  10. Solicito códigos para asp e não para asp.net ( se for o fórum errado, me desculpem . . . )

    Gostaria de saber qual a melhor maneira de executar uma instalação de um programa ( apenas um executável localizado em meu site ) na máquina do cliente da maneira mais simples possível ( como assim, para o cliente apenas clicar em um link no meu site - clique aqui para instalar ) o código iria fazer o download do arquivo em uma pasta específica e depois carregaria o mesmo... e depois disso o cliente iria apenas seguir os passos normais da instalação...

    ...sem que o cliente precise fazer o download e depois achar o arquivo exe e depois dar 2 cliques para abrir e ai seguir os passos da instalação (porque isso é um porre)

    outra coisa, depois do programa instalado, preciso substituir 3 arquivos gerados pelo instalador mencionado acima por arquivos que também estarão em meu site ( como fazer isso )

    pensei em alguma coisa como algo parecido com um instalador de active-x mais não tenho a menor idéia de como funciona

    ps.: o arquivo .exe é um arquivo .msi compactado pelo winrar e transformado em autoexecutável . . .

  11. A Tabela recado possui uma sequencia no banco, então quando eu insiro um linha de registro nesta tabela, automaticamente a sequencia dará um valor ao registro, só que quero fazer da seguinte maneira.

    Quero que na tabela recado_log também grave a sequencia da tabela recado, mas só que por enquanto não existe a variável para inserir a sequencia...

    []s

    sql = "insert into recado (titulo, descricao, data, idmural, idusuario) values ('"&VarAssunto&"', '"&VarDescricao&"', '"&Date()&"', '"&idmural&"', '"&usuario&"')"

    sql = "insert into recado_log (idrecado, titulo, descricao, data, idusuario) values ('"&VarAssunto&"', '"&VarDescricao&"', '"&Date()&"', '"&usuario&"')"

    captei a dúvida

    tenta assim, supondo que:

    código gerado tenha o nome de cod_recado ok

    sql = "insert into recado (titulo, descricao, data, idmural, idusuario) values ('"&VarAssunto&"', '"&VarDescricao&"', '"&Date()&"', '"&idmural&"', '"&usuario&"')"

    set rs=Server.CreateObject("ADODB.recordset")

    SQL = "SELECT cod_recado "

    SQL = SQL & " FROM recado"

    SQL = SQL & " WHERE titulo = '"&VarAssunto&"'"

    rs.Open SQL, Conexao

    While Not rs.EOF

    cod_recado = rs("cod_recado")

    rs.MoveNext

    Wend

    sql = "insert into recado_log (idrecado, titulo, descricao, data, idusuario) values ('"&cod_recado&"', '"&VarAssunto&"', '"&VarDescricao&"', '"&Date()&"', '"&usuario&"')"

    agora da uma olhada na minha dúvida e ve se você pode ma ajudar....

    "socorroooooooooo . . . ."

  12. Prezados colegas, gostaria de criar um link dentro de uma tabela de pedidos e ao ser clicado enviado para uma nova página. desde já gradeço.

    Não consegui com esse código:

    <a href="detalhe.asp?Cod=<% = Consulta("Cod")%>"></a>

    Onde esta o erro?

    tenta algo assim...

    ---> variavel = rs("valor na tabela do banco de dados")

    consulta = rs("cod_pedido")

    ---> no link você coloca

    <a href="detalhe.asp?Cod=<%response.write consulta%>"></a>

    na página que recebe você recebe ele com o request.querystring

    codigo_do_pedido = request.querystring("Cod")

    espero ter ajudado

    agora da uma olhada meu tópico e ve se você poderia me ajudar . . . (socorroooooooo....)

  13. andréia, tinha a idéia de usar este código, o meu maior problema com ele é que ele estaria na página do include, página esta que recebe o form certo...

    no caso de o cpf não estar cadastrado, ok ele continuaria a trabalhar normalmente mais se ele já estiver no bd, queria jogar algo como o 'java script:history.back()' pra ele voltar a página do formulário sem a perda dos dados, só que este código java não roda no response.redirect.

    se você tiver uma solução pra isso iria me ajudar bastante

    mais de qualquer forma, valeu a dica.

  14. Minha dúvida é a seguinte...

    tenho uma página de cadastro em asp e gostaria de verificar se o cpf digitado e o usuario escolhido já estão cadastrados no bd

    de preferência, no momento em que o cliente acabou de preencher o campo ou na página do include que recebe os dados do form, retornando para o formulário se o cadastro já existir mais sem perder os dados digitados anteriormente ( como assim, não pode ser com um response.redirect para o formulário, precisa ser algo como 'java script:history.back()' para que o formulário retorne preenchido como anteriormente ao clicar no botão enviar )

    Preciso muito de ajuda mesmo

    Acho que não soube me explicar direito.

    preciso de um código que va até o bd, verifique se o cpf ou o nome de usuário já tenha sido cadastrado antes para não haver duplicidade, caso haja retorne um aviso ao cliente informando :

    " cpf já cadastrado anteriormente... "

    ou

    " usuário já cadastrado anteriormente... "

    e ainda retorne ao formulário sem a perda dos dados digitados nele.

    espero ter me explicado melhor

    Marcelo Camisa

×
×
  • Criar Novo...