Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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"></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"></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><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"><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 %>"><select id='x_id_genero' name='x_id_genero'<%= filme.id_genero.EditAttributes %>>
<!--option value=''>Selecione</option--><option value="<%= Server.HtmlEncode(arwrk(0, rowcntwrk)&"") %>"<%= selwrk %>>
<%= arwrk(1, rowcntwrk) %></option></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--><option value="<%= Server.HtmlEncode(arwrk(0, rowcntwrk)&"") %>" selected="selected"<%= selwrk %>>
<%= arwrk(1, rowcntwrk) %></option></select>
</span></td>
</tr>
</table>
<p>
<input type="submit" name="btnAction" id="btnAction" value=" Gravar ">
</form>' 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()' 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.
Carregando comentários...