Ir para conteúdo
Fórum Script Brasil
  • 0

(resolvido) If str = rs ..


1980coelho

Pergunta

problema, quero que em uma busca a palavra digitada verifique se já existe na tabela, se existir atualizar com mais um click se não existir adicionar a tabela.. sendo que na tabela tando o ID como o nome da coluna TAG são unicos e não podem se repetir.. a minha duvida e questao esta na linha sublinhada não estou sabendo mandar verificar se a palavra da busca no caso strSearchFor existe na tabela ou não, como esta o codigo da erro ele volta dizendo que:

Microsoft JET Database Engine error '80004005'

The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.

/files/2see/search.asp, line 317

--- ento e facil deduzir que a nha não esta funcionando a varificacao e esta tentando adicionar a palavra em vez de atualizar.. se mando a busca com a primeira palavra da tabela ela se atualiza as outras voltam com o erro acima; codigo:

strSQL = " SELECT *"

strSQL = strSQL & " FROM tblTagCloud"

strSQL = strSQL & " WHERE tag"

Set rsTagCloudSubmit = Server.CreateObject("ADODB.Recordset")

rsTagCloudSubmit.Open strSQL, adoCon2see

If strSearchFor = rsTagCloudSubmit("Tag") Then

strSQL = "UPDATE tblTagCloud SET tblTagCloud.Click='" &(rsTagCloudSubmit("Click")+1)& "' WHERE ID =" & rsTagCloudSubmit("Tag")

adoCon2see.Execute(strSQL)

Else

strSQL = "INSERT INTO tblTagCloud ([tag], [click]) VALUES('" & strSearchFor & "', '1')"

adoCon2see.Execute(strSQL)

End If

---

RESOLUCAO:

'TagCloud Isert Or Update

If Request.Form("search") <> "" Then

strSQL = " SELECT *"

strSQL = strSQL & " FROM tblTagCloud"

strSQL = strSQL & " WHERE tag ='" & Request.Form("search") & "' "

Set rsTagCloudSubmit = Server.CreateObject("ADODB.Recordset")

rsTagCloudSubmit.Open strSQL, adoCon2see

If rsTagCloudSubmit.EOF Then

strSQL = "INSERT INTO tblTagCloud ([tag], [click]) VALUES('" & Request.Form("search") & "', '1')"

adoCon2see.Execute(strSQL)

Else

strSQL = "UPDATE tblTagCloud SET tblTagCloud.Click='" &(rsTagCloudSubmit("Click")+1)& "' WHERE tag ='" & Request.Form("search") & "' "

adoCon2see.Execute(strSQL)

End If

End If

---

Editado por 1980coelho
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

consegui fazer que se já exista o nome procurado ele atualize com +1 a contagem da procura mais não estou conseguindo fazer s a palavr digitada não existir na tabela que adicione a palavra, segue o codigo:

If Request.Form("search") = rsTagCloudSubmit("Tag") Then

strSQL = "UPDATE tblTagCloud SET tblTagCloud.Click='" &(rsTagCloudSubmit("Click")+1)& "' WHERE tag ='" & Request.Form("search") & "' "

adoCon2see.Execute(strSQL)

Else

strSQL = "INSERT INTO tblTagCloud ([tag], [click]) VALUES('" & Request.Form("search") & "', '1')"

adoCon2see.Execute(strSQL)

End If

---

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...