Ir para conteúdo

POWERED BY:

Arquivado

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

Rodrigo F.

Como criar uma condição de cadastro?

Recommended Posts

Boa noite amigos o IM!

 

Estou com um problema para criar a variavel de verificação do BD antes de permitir o cadastro e gostaria de pedir a ajuda de vocês...

 

Gostaria que no momento que fosse feita a tentativa de cadastro fosse verificado no BD (access/mdb) se o titulo que esta sendo cadastrado ja existe no BD.

 

Atualmente o arquivo asp está assim:

 

<%
Const EW_PAGE_ID = "add"
Const EW_TABLE_NAME = "filme"
%>
<!--#include file="ewcfg60.asp"-->
<!--#include file="filmeinfo.asp"-->
<!--#include file="generoinfo.asp"-->
<!--#include file="aspfn60.asp"-->
<!--#include file="userfn60.asp"-->
<%
Response.Expires = 0
Response.ExpiresAbsolute = Now() - 1
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", "private, no-cache, no-store, must-revalidate"
%>
<%

' Open connection to the database
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open EW_DB_CONNECTION_STRING
%>
<%

' Common page loading event (in userfn60.asp)
Call Page_Loading()
%>
<%

' Page load event, used in current page
Call Page_Load()
%>
<%
Response.Buffer = True

' Load key values from QueryString
Dim bCopy
bCopy = True
If Request.QueryString("id_filme").Count > 0 Then
	filme.id_filme.QueryStringValue = Request.QueryString("id_filme")
Else
	bCopy = False
End If

' Create form object
Dim objForm
Set objForm = ew_GetUploadObj()

' Process form if post back
If objForm.GetValue("a_add")&"" <> "" Then
	filme.CurrentAction = objForm.GetValue("a_add") ' Get form action
	Call GetUploadFiles() ' Get upload files
	Call LoadFormValues() ' Load form values

' Not post back
Else
	If bCopy Then
		filme.CurrentAction = "C" ' Copy Record
	Else
		filme.CurrentAction = "I" ' Display Blank Record
		Call LoadDefaultValues() ' Load default values
	End If
End If

' Close form object
Set objForm = Nothing

' Perform action based on action code
Select Case filme.CurrentAction
	Case "I" ' Blank record, no action required
	Case "C" ' Copy an existing record
		If Not LoadRow() Then ' Load record based on key
			Session(EW_SESSION_MESSAGE) = "Registros nao encontrados" ' No record found
			Call Page_Terminate(filme.ReturnUrl) ' Clean up and return
		End If
	Case "A" ' Add new record
		filme.SendEmail = True ' Send email on add success
		If AddRow() Then ' Add successful
			Session(EW_SESSION_MESSAGE) = "Registro Adicionado com Sucesso" ' Set up success message
			Call Page_Terminate(filme.KeyUrl(filme.ReturnUrl, "")) ' Clean up and return
		Else
			Call RestoreFormValues() ' Add failed, restore form values
		End If
End Select

' Render row based on row type
filme.RowType = EW_ROWTYPE_ADD ' add ' Render add type
Call RenderRow()
%>
<!--#include file="header.asp"-->
<script type="text/javascript">
<!--
var EW_PAGE_ID = "add"; // Page id
//-->
</script>
<script type="text/javascript">
<!--
function ew_ValidateForm(fobj) {
	if (fobj.a_confirm && fobj.a_confirm.value == "F")
		return true;
	var i, elm, aelm, infix;
	var rowcnt = (fobj.key_count) ? Number(fobj.key_count.value) : 1;
	for (i=0; i<rowcnt; i++) {
		infix = (fobj.key_count) ? String(i+1) : "";
		elm = fobj.elements["x" + infix + "_id_genero"];
		if (elm && !ew_HasValue(elm)) {
			if (!ew_OnError(elm, "Preencha o valor para o campo - Categoria"))
				return false;
		}
		elm = fobj.elements["x" + infix + "_titulo"];
		if (elm && !ew_HasValue(elm)) {
			if (!ew_OnError(elm, "Preencha o valor para o campo - Título"))
				return false;
		}
		elm = fobj.elements["x" + infix + "_sinopse"];
		if (elm && !ew_HasValue(elm)) {
			if (!ew_OnError(elm, "Preencha o valor para o campo - Sinopse"))
				return false;
		}
		elm = fobj.elements["x" + infix + "_diretor"];
		if (elm && !ew_CheckFileType(elm.value)) { 
			if (!ew_OnError(elm, "File type is not allowed.")) 
				return false; 
		}
		elm = fobj.elements["x" + infix + "_locacao"];
		if (elm && !ew_CheckInteger(elm.value)) {
			if (!ew_OnError(elm, "Incorrect integer - Locaçao"))
				return false;
		}
		elm = fobj.elements["x" + infix + "_quantidade"];
		if (elm && !ew_CheckInteger(elm.value)) {
			if (!ew_OnError(elm, "Incorrect integer - Qtd"))
				return false;
		}
	}
	return true;
}
//-->
</script>
<script type="text/javascript">
<!--
var ew_DHTMLEditors = [];
//-->
</script>
<script type="text/javascript">
<!--
var ew_MultiPagePage = "Page"; // multi-page Page Text
var ew_MultiPageOf = "of"; // multi-page Of Text
var ew_MultiPagePrev = "Prev"; // multi-page Prev Text
var ew_MultiPageNext = "Next"; // multi-page Next Text
//-->
</script>
<script language="JavaScript" type="text/javascript">
<!--
// Write your client script here, no need to add script tags.
// To include another .js script, use:
// ew_ClientScriptInclude("my_javascript.js"); 
//-->
</script>
<p><span class="aspmaker" style="font-weight:bold">Adicionar: Filmes - Listagem<br><br><a href="<%= filme.ReturnUrl %>"><img src="images/voltar.gif" border="0"></a></span></p>
<%
If Session(EW_SESSION_MESSAGE) <> "" Then ' Mesasge in Session, display
%>
<p><span class="ewmsg"><%= Session(EW_SESSION_MESSAGE) %></span></p>
<%
	Session(EW_SESSION_MESSAGE) = "" ' Clear message in Session
End If
%>
<form name="ffilmeadd" id="ffilmeadd" action="filmeadd.asp" method="post" enctype="multipart/form-data" onSubmit="return ew_ValidateForm(this);">
<p>
<input type="hidden" name="a_add" id="a_add" value="A">
<table class="ewTable">
	<tr class="ewTableRow">
		<td class="ewTableHeader">Categoria<span class='ewmsg'> *</span></td>
		<td<%= filme.id_genero.CellAttributes %>><span id="cb_x_id_genero">
<% If filme.id_genero.SessionValue <> "" Then %>
<div<%= filme.id_genero.ViewAttributes %>><%= filme.id_genero.ViewValue %></div>
<input type="hidden" id="x_id_genero" name="x_id_genero" value="<%= filme.id_genero.CurrentValue %>">
<% Else %>
<select id='x_id_genero' name='x_id_genero'<%= filme.id_genero.EditAttributes %>>
<!--option value=''>Selecione</option-->
<%
If IsArray(filme.id_genero.EditValue) Then
	arwrk = filme.id_genero.EditValue
	For rowcntwrk = 0 To UBound(arwrk, 2)
		If arwrk(0, rowcntwrk)&"" = filme.id_genero.CurrentValue&"" Then
			selwrk = " selected"
		Else
			selwrk = ""
		End If
%>
<option value="<%= Server.HtmlEncode(arwrk(0, rowcntwrk)&"") %>"<%= selwrk %>>
<%= arwrk(1, rowcntwrk) %></option>
<%
	Next
End If
%>
</select>
<% End If %>
</span></td>
	</tr>
	<tr class="ewTableAltRow">
		<td class="ewTableHeader">Título<span class='ewmsg'> *</span></td>
		<td<%= filme.titulo.CellAttributes %>><span id="cb_x_titulo">
<input type="text" name="x_titulo" id="x_titulo" title="" size="50" maxlength="255" value="<%= filme.titulo.EditValue %>"<%= filme.titulo.EditAttributes %>>
</span></td>
	</tr>
	<tr class="ewTableRow">
		<td class="ewTableHeader">Sinopse<span class='ewmsg'> *</span></td>
		<td<%= filme.sinopse.CellAttributes %>><span id="cb_x_sinopse">
<textarea name="x_sinopse" id="x_sinopse" cols="60" rows="8"<%= filme.sinopse.EditAttributes %>><%= filme.sinopse.EditValue %></textarea>
</span></td>
	</tr>
	<tr class="ewTableAltRow">
		<td class="ewTableHeader">Tipo</td>
		<td<%= filme.lancamento.CellAttributes %>><span id="cb_x_lancamento">
<select id='x_lancamento' name='x_lancamento'<%= filme.lancamento.EditAttributes %>>
<!--option value=''>Selecione</option-->
<%
If IsArray(filme.lancamento.EditValue) Then
	arwrk = filme.lancamento.EditValue
	For rowcntwrk = 0 To UBound(arwrk, 2)
		If arwrk(0, rowcntwrk)&"" = filme.lancamento.CurrentValue&"" Then
			selwrk = " selected"
		End If
%>
<option value="<%= Server.HtmlEncode(arwrk(0, rowcntwrk)&"") %>" selected="selected"<%= selwrk %>>
<%= arwrk(1, rowcntwrk) %></option>
<%
	Next
End If
%>
</select>
</span></td>
	</tr>
	</table>
<p>
<input type="submit" name="btnAction" id="btnAction" value="	Gravar   ">
</form>
<!--#include file="footer.asp"-->
<script language="JavaScript" type="text/javascript">
<!--
// Write your table-specific startup script here
// document.write("page loaded");
//-->
</script>
<%

' If control is passed here, simply terminate the page without redirect
Call Page_Terminate("")

' -----------------------------------------------------------------
'  Subroutine Page_Terminate
'  - called when exit page
'  - clean up ADO connection and objects
'  - if url specified, redirect to url, otherwise end response
'
Sub Page_Terminate(url)

	' Page unload event, used in current page
	Call Page_Unload()

	' Global page unloaded event (in userfn60.asp)
	Call Page_Unloaded()
	conn.Close ' Close Connection
	Set conn = Nothing
	Set filme = Nothing

	' Go to url if specified
	If url <> "" Then
		Response.Clear
		Response.Redirect url
	End If

	' Terminate response
	Response.End
End Sub

'
'  Subroutine Page_Terminate (End)
' ----------------------------------------

%>
<%

' Function Get upload files
Function GetUploadFiles()

	' Get upload data
		filme.diretor.Upload.Index = objForm.Index
		If filme.diretor.Upload.UploadFile() Then

			' No action required
		Else
			Response.Write filme.diretor.Upload.Message
			Response.End
		End If
End Function
%>
<%

' Load default values
Function LoadDefaultValues()
	filme.diretor.CurrentValue = Null ' Clear file related field
	filme.lancamento.CurrentValue = 0
	filme.locacao.CurrentValue = 0
	filme.quantidade.CurrentValue = 0
End Function
%>
<%

' Load form values
Function LoadFormValues()

	' Load from form
	filme.id_genero.FormValue = objForm.GetValue("x_id_genero")
	filme.titulo.FormValue = objForm.GetValue("x_titulo")
	filme.sinopse.FormValue = objForm.GetValue("x_sinopse")
	filme.atores.FormValue = objForm.GetValue("x_atores")
	filme.lancamento.FormValue = objForm.GetValue("x_lancamento")
	filme.locacao.FormValue = objForm.GetValue("x_locacao")
	filme.quantidade.FormValue = objForm.GetValue("x_quantidade")
End Function

' Restore form values
Function RestoreFormValues()
	filme.id_genero.CurrentValue = filme.id_genero.FormValue
	filme.titulo.CurrentValue = filme.titulo.FormValue
	filme.sinopse.CurrentValue = filme.sinopse.FormValue
	filme.atores.CurrentValue = filme.atores.FormValue
	filme.lancamento.CurrentValue = filme.lancamento.FormValue
	filme.locacao.CurrentValue = filme.locacao.FormValue
	filme.quantidade.CurrentValue = filme.quantidade.FormValue
End Function
%>
<%

' Load row based on key values
Function LoadRow()
	Dim rs, sSql, sFilter
	sFilter = filme.SqlKeyFilter
	If Not IsNumeric(filme.id_filme.CurrentValue) Then
		LoadRow = False ' Invalid key, exit
		Exit Function
	End If
	sFilter = Replace(sFilter, "@id_filme@", ew_AdjustSql(filme.id_filme.CurrentValue)) ' Replace key value

	' Call Row Selecting event
	Call filme.Row_Selecting(sFilter)

	' Load sql based on filter
	filme.CurrentFilter = sFilter
	sSql = filme.SQL
	Set rs = Server.CreateObject("ADODB.Recordset")
	rs.Open sSql, conn
	If rs.Eof Then
		LoadRow = False
	Else
		LoadRow = True
		rs.MoveFirst
		Call LoadRowValues(rs) ' Load row values

		' Call Row Selected event
		Call filme.Row_Selected(rs)
	End If
	rs.Close
	Set rs = Nothing
End Function

' Load row values from recordset
Sub LoadRowValues(rs)
	filme.id_filme.DbValue = rs("id_filme")
	filme.id_genero.DbValue = rs("id_genero")
	filme.dia.DbValue = rs("dia")
	filme.mes.DbValue = rs("mes")
	filme.ano.DbValue = rs("ano")
	filme.titulo.DbValue = rs("titulo")
	filme.titulo_original.DbValue = rs("titulo_original")
	filme.sinopse.DbValue = rs("sinopse")
	filme.atores.DbValue = rs("atores")
	filme.diretor.Upload.DbValue = rs("diretor")
	filme.extra.DbValue = rs("extra")
	filme.informacoes.DbValue = rs("informacoes")
	filme.lancamento.DbValue = rs("lancamento")
	filme.locacao.DbValue = rs("locacao")
	filme.quantidade.DbValue = rs("quantidade")
	filme.regiao.DbValue = rs("regiao")
End Sub
%>
<%

' Render row values based on field settings
Sub RenderRow()

	' Call Row Rendering event
	Call filme.Row_Rendering()

	' Common render codes for all row types
	' id_genero

	filme.id_genero.CellCssStyle = ""
	filme.id_genero.CellCssClass = ""

	' titulo
	filme.titulo.CellCssStyle = ""
	filme.titulo.CellCssClass = ""

	' sinopse
	filme.sinopse.CellCssStyle = ""
	filme.sinopse.CellCssClass = ""

	' atores
	filme.atores.CellCssStyle = ""
	filme.atores.CellCssClass = ""

	' diretor
	filme.diretor.CellCssStyle = ""
	filme.diretor.CellCssClass = ""

	' lancamento
	filme.lancamento.CellCssStyle = ""
	filme.lancamento.CellCssClass = ""

	' locacao
	filme.locacao.CellCssStyle = ""
	filme.locacao.CellCssClass = ""

	' quantidade
	filme.quantidade.CellCssStyle = ""
	filme.quantidade.CellCssClass = ""
	If filme.RowType = EW_ROWTYPE_VIEW Then ' View row
	ElseIf filme.RowType = EW_ROWTYPE_ADD Then ' Add row

		' id_genero
		filme.id_genero.EditCustomAttributes = ""
		If filme.id_genero.SessionValue <> "" Then
			filme.id_genero.CurrentValue = filme.id_genero.SessionValue
		If Not IsNull(filme.id_genero.CurrentValue) And filme.id_genero.CurrentValue <> "" Then
			sSqlWrk = "SELECT [genero] FROM [genero] WHERE [codigo] = " & ew_AdjustSql(filme.id_genero.CurrentValue) & ""
			Set rswrk = conn.Execute(sSqlWrk)
			If Not rswrk.Eof Then
				filme.id_genero.ViewValue = rswrk("genero")
			Else
				filme.id_genero.ViewValue = filme.id_genero.CurrentValue
			End If
			rswrk.Close
			Set rswrk = Nothing
		Else
			filme.id_genero.ViewValue = Null
		End If
		filme.id_genero.CssStyle = ""
		filme.id_genero.CssClass = ""
		filme.id_genero.ViewCustomAttributes = ""
		Else
		sSqlWrk = "SELECT [codigo], [genero] FROM [genero]"
		Set rswrk = Server.CreateObject("ADODB.Recordset")
		rswrk.Open sSqlWrk, conn
		If Not rswrk.Eof Then
			arwrk = rswrk.GetRows
		Else
			arwrk = ""
		End If
		rswrk.Close
		Set rswrk = Nothing
		arwrk = ew_AddItemToArray(arwrk, 0, Array("", "Selecione"))
		filme.id_genero.EditValue = arwrk
		End If

		' titulo
		filme.titulo.EditCustomAttributes = ""
		filme.titulo.EditValue = ew_HtmlEncode(filme.titulo.CurrentValue)

		' sinopse
		filme.sinopse.EditCustomAttributes = ""
		filme.sinopse.EditValue = filme.sinopse.CurrentValue

		' atores
		filme.atores.EditCustomAttributes = ""
		filme.atores.EditValue = ew_HtmlEncode(filme.atores.CurrentValue)

		' diretor
		filme.diretor.EditCustomAttributes = ""
		filme.diretor.EditValue = filme.diretor.CurrentValue

		' lancamento
		filme.lancamento.EditCustomAttributes = ""
		Redim arwrk(1, 3)
		arwrk(0, 1) = "1"
		arwrk(1, 1) = "Lançamento"
		arwrk(0, 2) = "2"
		arwrk(1, 2) = "Box/Series"
		arwrk(0, 3) = "3"
		arwrk(1, 3) = "Acervo"
		arwrk = ew_AddItemToArray(arwrk, 0, Array("", "Selecione"))
		filme.lancamento.EditValue = arwrk

		' locacao
		filme.locacao.EditCustomAttributes = ""
		filme.locacao.EditValue = filme.locacao.CurrentValue

		' quantidade
		filme.quantidade.EditCustomAttributes = ""
		filme.quantidade.EditValue = filme.quantidade.CurrentValue
	ElseIf filme.RowType = EW_ROWTYPE_EDIT Then ' Edit row
	ElseIf filme.RowType = EW_ROWTYPE_SEARCH Then ' Search row
	End If

	' Call Row Rendered event
	Call filme.Row_Rendered()
End Sub
%>
<%

' Add record
Function AddRow()
	On Error Resume Next
	Dim rs, sSql, sFilter
	Dim rsnew
	Dim bCheckKey, sSqlChk, sWhereChk, rsChk
	Dim bInsertRow

	' Check for duplicate key
	bCheckKey = True
	sFilter = filme.SqlKeyFilter
	If filme.id_filme.CurrentValue = "" Or IsNull(filme.id_filme.CurrentValue) Then
		bCheckKey = False
	Else
		sFilter = Replace(sFilter, "@id_filme@", ew_AdjustSql(filme.id_filme.CurrentValue)) ' Replace key value
	End If
	If Not IsNumeric(filme.id_filme.CurrentValue) Then
		bCheckKey = False
	End If
	If bCheckKey Then
		Set rsChk = filme.LoadRs(sFilter)
		If Not (rsChk Is Nothing) Then
			Session(EW_SESSION_MESSAGE) = "Duplicate value for primary key"
			rsChk.Close
			Set rsChk = Nothing
			AddRow = False
			Exit Function
		End If
	End If

	' Add new record
	sFilter = "(0 = 1)"
	filme.CurrentFilter = sFilter
	sSql = filme.SQL
	Set rs = Server.CreateObject("ADODB.Recordset")
	rs.CursorLocation = EW_CURSORLOCATION
	rs.Open sSql, conn, 1, 2
	rs.AddNew
	If Err.Number <> 0 Then
		Session(EW_SESSION_MESSAGE) = Err.Description
		rs.Close
		Set rs = Nothing
		AddRow = False
		Exit Function
	End If

	' Field id_genero
	Call filme.id_genero.SetDbValue(filme.id_genero.CurrentValue, Null)
	rs("id_genero") = filme.id_genero.DbValue

	' Field titulo
	Call filme.titulo.SetDbValue(filme.titulo.CurrentValue, Null)
	rs("titulo") = filme.titulo.DbValue

	' Field sinopse
	Call filme.sinopse.SetDbValue(filme.sinopse.CurrentValue, Null)
	rs("sinopse") = filme.sinopse.DbValue

	' Field atores
	Call filme.atores.SetDbValue(filme.atores.CurrentValue, Null)
	rs("atores") = filme.atores.DbValue

	' Field diretor
	Call filme.diretor.Upload.SaveToSession() ' Save file value to Session
	filme.diretor.Upload.DbValue = rs("diretor") ' Get original value
	If IsNull(filme.diretor.Upload.Value) Then
		rs("diretor") = Null
	Else
		rs("diretor") = ew_UploadFileNameEx(ew_UploadPathEx(True, "../dvd/"), filme.diretor.Upload.FileName)
	End If
	filme.diretor.ImageWidth = 138 ' Resize width
	filme.diretor.ImageHeight = 195 ' Resize height

	' Field lancamento
	Call filme.lancamento.SetDbValue(filme.lancamento.CurrentValue, Null)
	rs("lancamento") = filme.lancamento.DbValue

	' Field locacao
	Call filme.locacao.SetDbValue(filme.locacao.CurrentValue, Null)
	rs("locacao") = filme.locacao.DbValue

	' Field quantidade
	Call filme.quantidade.SetDbValue(filme.quantidade.CurrentValue, Null)
	rs("quantidade") = filme.quantidade.DbValue

	' Check recordset update error
	If Err.Number <> 0 Then
		Session(EW_SESSION_MESSAGE) = Err.Description
		rs.Close
		Set rs = Nothing
		AddRow = False
		Exit Function
	End If

	' Call Row Inserting event
	bInsertRow = filme.Row_Inserting(rs)
	If bInsertRow Then

		' Field diretor
		If Not IsNull(filme.diretor.Upload.Value) Then
			Call filme.diretor.Upload.RestoreFromSession() ' Restore original value
			Call filme.diretor.Upload.Resize(filme.diretor.ImageWidth, filme.diretor.ImageHeight, 1)
		End If
		If Not IsNull(filme.diretor.Upload.Value) Then Call ew_SaveFile(ew_UploadPathEx(True, "../dvd/"), rs("diretor"), filme.diretor.Upload.Value)

		' Clone new rs object
		Set rsnew = ew_CloneRs(rs)
		rs.Update
		If Err.Number <> 0 Then
			Session(EW_SESSION_MESSAGE) = Err.Description
			AddRow = False
		Else
			AddRow = True
		End If
	Else
		rs.CancelUpdate
		If filme.CancelMessage <> "" Then
			Session(EW_SESSION_MESSAGE) = filme.CancelMessage
			filme.CancelMessage = ""
		Else
			Session(EW_SESSION_MESSAGE) = "Insert cancelled"
		End If
		AddRow = False
	End If
	rs.Close
	Set rs = Nothing
	If AddRow Then
		filme.id_filme.DbValue = rsnew("id_filme")

		' Call Row Inserted event
		Call filme.Row_Inserted(rsnew)
	End If

	' Field diretor
	Call filme.diretor.Upload.RemoveFromSession() ' Remove file value from Session
	If IsObject(rsnew) Then
		rsnew.Close
		Set rsnew = Nothing
	End If
End Function
%>
<%

' Page Load event
Sub Page_Load()

'***Response.Write "Page Load"
End Sub

' Page Unload event
Sub Page_Unload()

'***Response.Write "Page Unload"
End Sub
%>

Att

Rodrigo F.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente precisa realizar uma consulta no db para saber se ja existe

 

quais as suas dificuldades nesse respeito?

 

estamos aqui para tentar ajuda-lo

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que tentei colocar diversas funções amigos e nenhuma serviu..

 

Ex:

 

<%
If Request.Form("x_titulo") = true Then
	verifica = "SELECT * FROM filme WHERE titulo = '"&x_titulo&"'"
	Response.Write(verifica)
	Set RS = conn.Execute(verifica)

	If RS.EOF Then
	  Response.Write "Filme já cadastrado!!!!</br>Para tentar novamente clique <a a href=java script:history.go(-1) target=_self>AQUI</a>."
	  Response.End

	Else
	gravar = "INSERT INTO filme(titulo) values('"&titulo&"')"
	set RS2 = conn.Execute(gravar)
	Response.Write("Filme Cadastrado com Sucesso.")
	End If
End If
%>

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

x_titulo é o que? Não seria Request.Form("x_titulo") ?

verifica = "SELECT * FROM filme WHERE titulo = '"&Request.Form("x_titulo")&"'"
gravar = "INSERT INTO filme(titulo) values('"&Request.Form("x_titulo")&"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele continua permitindo cadastro duplicado..

 

A condição de cadastro está:

<%
If Request.Form("x_titulo") = true Then
	verifica = "SELECT * FROM filme WHERE titulo = '"&Request.Form("x_titulo")&"'"
	Response.Write(verifica)
	Set RS = conn.Execute(verifica)

	If RS.EOF Then
	  Response.Write "Filme já cadastrado!!!!</br>Para tentar novamente clique <a a href=java script:history.go(-1) target=_self>AQUI</a>."
	  Response.End

	Else
	gravar = "INSERT INTO filme(titulo) values('"&Request.Form("x_titulo")&"')"
	set RS2 = conn.Execute(gravar)
	Response.Write("Filme Cadastrado com Sucesso.")
	End If
End If
%>

O campo que deve ser verificado é:

<tr class="ewTableAltRow">
		<td class="ewTableHeader">Título<span class='ewmsg'> *</span></td>
		<td<%= filme.titulo.CellAttributes %>><span id="cb_x_titulo">
<input type="text" name="x_titulo" id="x_titulo" title="" size="50" maxlength="255" value="<%= filme.titulo.EditValue %>"<%= filme.titulo.EditAttributes %>>
</span></td>
	</tr>

O formato do botão de imput está assim:

<input type="submit" name="btnAction" id="btnAction" value="	Gravar   ">

Obrigado pela ajuda de todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

verifica = "SELECT * FROM filme WHERE lcase(titulo) = '"&lcase(Request.Form("x_titulo"))&"'"
Se não der certo, cria um while e manda escrever os titulos, manda escrever tbm o tamanho de cada um utilizando a função LEN. Só para teste.

 

Às vezes está dando erro por causa de um espaço a mais, ou porque foi gravado de forma diferente no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faca esse teste aqui

verifica = "SELECT * FROM filme WHERE lcase(titulo) = 'teste'"

e cadastra um no banco com esse titulo e roda o cadastro pra ver se da o aviso

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Será que o problema não esta nesta linha:

 

If RS.EOF Then

 

troque por:

 

if not rs.EOF then

 

Abraços

 

Estevam

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta trocado ne

eof = end of

ou seja, ele nao encontrou nenhum registro com o titulo

ai cadastra

 

mas nao recisa trocar, so muda a ordem, onde cadastra poe o aviso e onde tem o aviso faz o cadastro

 

matou a charada hehehee

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei de tudo amigos e continua o problema :\

Se eu cadastrar 10x o mesmo titulo ele permite

 

No caso o mais correto pra esse tipo de situação é que ele entenda assim:

 

Se titulo digitado for YYYYY

Verificar se YYYYY ja existe na tabela filme dentro da coluna titulo na categoria AAAAA

Se SIM (titulo ja existe na coluna titulo e está na mesma categoria) não permitir

Se NÃO (titulo não existir ou existir em outra categoria) ele permiti o cadastro e da o aviso que existe outro(s) titulo iguais em categoias diferentes.

 

Basicamente é isso que estou tentando arrumar e não tenho conseguido

 

Agradeço a ajuda e empenho de todos os amigos do fórum

 

O código dessa condição está atualmente assim:

 

<%

If Request.Form("x_titulo") = true Then

verifica = "SELECT * FROM filme WHERE titulo = '"&Request.Form("x_titulo")&"'"

Response.Write(verifica)

Set RS = conn.Execute(verifica)

 

If not RS.EOF Then

Response.Write "Filme já cadastrado!!!!</br>Para tentar novamente clique <a a href=java script:history.go(-1) target=_self>AQUI</a>."

Response.End

 

Else

gravar = "INSERT INTO filme(titulo) values('"&Request.Form("x_titulo")&"')"

set RS2 = conn.Execute(gravar)

Response.Write("Filme Cadastrado com Sucesso.")

End If

End If

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa comparação não deveria existir:

If Request.Form("x_titulo") = true Then
Impossível x_titulo ser igual true e ao mesmo tempo possuir um outro valor para ser comparado no banco de dados.

 

Tenta o código abaixo:

<%
verifica = "SELECT * FROM filme WHERE titulo = '%"&Request.Form("x_titulo")&"%'"[/
Response.Write(verifica)
Set RS = conn.Execute(verifica)
If not RS.EOF Then
   Response.Write "Filme já cadastrado!!!!</br>Para tentar novamente clique <a a href=java script:history.go(-1) target=_self>AQUI</a>."
  Response.End
Else
  gravar = "INSERT INTO filme(titulo) values('"&Request.Form("x_titulo")&"')"
  set RS2 = conn.Execute(gravar)
  Response.Write("Filme Cadastrado com Sucesso.")
End If
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dessa forma que me indicou, removendo o [/ da linha: verifica = "SELECT * FROM filme WHERE titulo = '%"&Request.Form("x_titulo")&"%'"[/

 

SELECT * FROM filme WHERE titulo = '%%'

Microsoft JET Database Engine error '80004005'

The field 'filme.sinopse' cannot contain a Null value because the Required property for this field is set to True. Enter a value in this field.

/amv1a/admin/filmeadd.asp, line 100

Linhas 100 - 102

 

set RS2 = conn.Execute(gravar)
  Response.Write("Filme Cadastrado com Sucesso.")
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

O /] foi a mais hehe

 

Pelo visto o erro já mudou de lugar ne?

 

A tabela filme possui quais campos? Pelo erro parece que você está tentando cadastrar em algum campo sem colocar valores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi ele ta dando erro justamente por isso, pq ele ta verificando os campos antes mesmo de eu colocar algo.. logo que abro o link pra efetuar os cadastros ele ja verifica os campos e estando em banco ele da erro.

 

Ta complicado, agradeço mesmo a ajuda de todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como esta seu codigo atualmente?

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.