Tenho uma pagina que realiza uma inserção de dados num banco SQL.
O problema é que em caso de duplicidade, não sei como interromper o processo de inserção e exibir uma mensagem de alerta ao usuario, permitindo corrigir os dados digitados.
Mais uma vez obrigado
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/con_operacao.asp" -->
<%
Dim rs_vrp__MMColParam
rs_vrp__MMColParam = "nome_do_usuario"
If (session("MM_Username") <> "") Then
rs_vrp__MMColParam = session("MM_Username")
End If
%>
<%
Dim MM_editAction
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
Dim MM_abortEdit
MM_abortEdit = false
%>
<%
' IIf implementation
Function MM_IIf(condition, ifTrue, ifFalse)
If condition = "" Then
MM_IIf = ifFalse
Else
MM_IIf = ifTrue
End If
End Function
%>
<%
If (CStr(Request("MM_insert")) = "form_inserir") Then
If (Not MM_abortEdit) Then
' execute the insert
Dim MM_editCmd
Set MM_editCmd = Server.CreateObject ("ADODB.Command")
MM_editCmd.ActiveConnection = MM_con_operacao_STRING
MM_editCmd.CommandText = "INSERT INTO dbo.tb_dados (rgi, grupo, cod_atc, endereco, numero, complemen, nome, telefone, vrp, cod_altitude) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 5, 1, -1, MM_IIF(Request.Form("rgi"), Request.Form("rgi"), null)) ' adDouble
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 5, 1, -1, MM_IIF(Request.Form("grupo"), Request.Form("grupo"), null)) ' adDouble
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 5, 1, -1, MM_IIF(Request.Form("cod_atc"), Request.Form("cod_atc"), null)) ' adDouble
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 201, 1, 30, Request.Form("endereco")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param5", 201, 1, 5, Request.Form("numero")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param6", 201, 1, 10, Request.Form("complemen")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param7", 201, 1, 40, Request.Form("nome")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param8", 201, 1, 13, Request.Form("telefone")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param9", 5, 1, -1, MM_IIF(Request.Form("vrp"), Request.Form("vrp"), null)) ' adDouble
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param10", 5, 1, -1, MM_IIF(Request.Form("cod_altitude"), Request.Form("cod_altitude"), null)) ' adDouble
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "cad_cliente.asp"
If (Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
Response.Redirect(MM_editRedirectUrl)
End If
End If
%>
<%
Dim rs_vrp
Dim rs_vrp_cmd
Dim rs_vrp_numRows
Set rs_vrp_cmd = Server.CreateObject ("ADODB.Command")
rs_vrp_cmd.ActiveConnection = MM_con_operacao_STRING
rs_vrp_cmd.CommandText = "SELECT * FROM tb_administracao, tb_vrp WHERE tb_administracao.usuario = ? and tb_administracao.codatc = tb_vrp.cod_atc ORDER BY tb_vrp.nome"
rs_vrp_cmd.Prepared = true
rs_vrp_cmd.Parameters.Append rs_vrp_cmd.CreateParameter("param1", 200, 1, 255, rs_vrp__MMColParam) ' adVarChar
Set rs_vrp = rs_vrp_cmd.Execute
rs_vrp_numRows = 0
%>
<%
Dim rs_altitude
Dim rs_altitude_cmd
Dim rs_altitude_numRows
Set rs_altitude_cmd = Server.CreateObject ("ADODB.Command")
rs_altitude_cmd.ActiveConnection = MM_con_operacao_STRING
rs_altitude_cmd.CommandText = "SELECT * FROM dbo.tb_altitude"
rs_altitude_cmd.Prepared = true
Set rs_altitude = rs_altitude_cmd.Execute
rs_altitude_numRows = 0
%>
<%
Dim rs_dados__MMColParam
rs_dados__MMColParam = "nome_do_usuario"
If (session("MM_Username") <> "") Then
rs_dados__MMColParam = session("MM_Username")
End If
%>
<%
Dim rs_dados__MMColParam2
rs_dados__MMColParam2 = "1"
If (Request.Form("vrp") <> "") Then
rs_dados__MMColParam2 = Request.Form("vrp")
End If
%>
<%
Dim rs_dados
Dim rs_dados_cmd
Dim rs_dados_numRows
Set rs_dados_cmd = Server.CreateObject ("ADODB.Command")
rs_dados_cmd.ActiveConnection = MM_con_operacao_STRING
rs_dados_cmd.CommandText = "SELECT a.nome, rgi, grupo, endereco, numero, v.nome, complemen, nomecli, d.telefone, altitude, v.cod_vrp FROM tb_administracao a join tb_dados d on d.cod_atc = codatc join tb_vrp v on v.cod_vrp = d.cod_vrp join tb_altitude t on t.cod_altitude = d.cod_altitude WHERE a.usuario = ? and v.cod_vrp = ?"
rs_dados_cmd.Prepared = true
rs_dados_cmd.Parameters.Append rs_dados_cmd.CreateParameter("param1", 200, 1, 255, rs_dados__MMColParam) ' adVarChar
rs_dados_cmd.Parameters.Append rs_dados_cmd.CreateParameter("param2", 5, 1, -1, rs_dados__MMColParam2) ' adDouble
Set rs_dados = rs_dados_cmd.Execute
rs_dados_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index
Repeat1__numRows = -1
Repeat1__index = 0
rs_dados_numRows = rs_dados_numRows + Repeat1__numRows
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script src="js/pcc.js" type=text/javascript></script>
<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
<title>Consulta Pressão VRP</title>
</head>
<body>
<div id="conteudoadm2">
<h3>Cadastro de Cliente</h3>
<form action="cad_cliente.asp" method="post" id="form_selecao">
<table width="555" border="0">
<tr>
<td width="169"></td>
<td width="376" align="right"><label>VRP: <select name="vrp" id="vrp">
<%
While (NOT rs_vrp.EOF)
%>
<option value="<%=(rs_vrp.Fields.Item("cod_vrp").Value)%>" <%If (Not isNull((rs_vrp.Fields.Item("cod_vrp").Value))) Then If (CStr(rs_vrp.Fields.Item("cod_vrp").Value) = CStr((rs_vrp.Fields.Item("cod_vrp").Value))) Then Response.Write("selected=""selected""") : Response.Write("")%> ><%=(rs_vrp.Fields.Item("nome").Value)%></option>
<%
rs_vrp.MoveNext()
Wend
If (rs_vrp.CursorType > 0) Then
rs_vrp.MoveFirst
Else
rs_vrp.Requery
End If
%>
</select></label><input type="submit" name="ok_atualizar" id="ok_atualizar" value="Enviar" /></td>
</tr>
</table>
</form>
<hr />
<form ACTION="<%'=MM_editAction%>" METHOD="POST" name="form_inserir" id="form_inserir" onsubmit="return valida_enviar(this)">
<table class="tabelas" width="553" border="0">
<tr>
<td width="276"><label>RGI: <input name="rgi" type="text" id="rgi" size="10" maxlength="10" /></label></td>
<td width="103"><label>Grupo: <input name="grupo" type="text" id="grupo" size="2" maxlength="2" /></label></td>
<td colspan="2"></td>
</tr>
<tr>
<td><label>Endereço: <input name="endereco" type="text" id="endereco" size="30" maxlength="30" /></label></td>
<td><label>Numero: <input name="numero" type="text" id="numero" size="5" maxlength="5" /></label></td>
<td colspan="2"><label>Comple.: <input name="complemen" type="text" id="complemen" size="10" maxlength="10" /></label></td>
</tr>
<tr>
<td colspan="2">Nome:
<label>
<input name="nome" type="text" id="nome" size="40" maxlength="40" />
</label></td>
<td colspan="2"><label>Telefone: <input name="telefone" type="text" id="telefone" size="13" maxlength="13" />
</label></td>
</tr>
<tr>
<td colspan="2"><label>Altitude: <select name="cod_altitude" id="cod_altitude">
<%
While (NOT rs_altitude.EOF)
%>
<option value="<%=(rs_altitude.Fields.Item("cod_altitude").Value)%>" <%If (Not isNull((rs_altitude.Fields.Item("cod_altitude").Value))) Then If (CStr(rs_altitude.Fields.Item("cod_altitude").Value) = CStr((rs_altitude.Fields.Item("cod_altitude").Value))) Then Response.Write("selected=""selected""") : Response.Write("")%> ><%=(rs_altitude.Fields.Item("altitude").Value)%></option>
<%
rs_altitude.MoveNext()
Wend
If (rs_altitude.CursorType > 0) Then
rs_altitude.MoveFirst
Else
rs_altitude.Requery
End If
%>
</select></label></td>
<td width="83" align="center"><label>
<input name="adicionar" type="image" id="adicionar" title="adicionar" src="images/plus_16.png" alt="Adicionar"/>
</label></td>
<td width="73" align="center"> </td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form_inserir" />
<input type="hidden" name="hiddenField" id="hiddenField" />
</form>
<hr />
<div id="excluir">
<%
While ((Repeat1__numRows <> 0) AND (NOT rs_dados.EOF))
%>
<form ACTION="<%=MM_editAction%>" METHOD="post" name="form_excluir" id="form_excluir" onsubmit="return verify()">
<table class="tabelas" width="553" border="0">
<tr>
<td width="276"><label>RGI: <%=(rs_dados.Fields.Item("rgi").Value)%></label></td>
<td width="103"><label>Grupo: <%=(rs_dados.Fields.Item("grupo").Value)%></label></td>
<td colspan="2"><!-- <label>ATC: <input name="cod_atc" type="text" id="cod_atc" size="3" maxlength="3" /></label> --></td>
</tr>
<tr>
<td><label>Endereço: <%=(rs_dados.Fields.Item("endereco").Value)%></label></td>
<td><label>Numero: <%=(rs_dados.Fields.Item("numero").Value)%></label></td>
<td colspan="2"><label>Comple.: <%=(rs_dados.Fields.Item("complemen").Value)%></label></td>
</tr>
<tr>
<td colspan="2">Nome: <%=(rs_dados.Fields.Item("nomecli").Value)%></td>
<td colspan="2"><label>Telefone:
<%=(rs_dados.Fields.Item("telefone").Value)%></label></td>
</tr>
<tr>
<td colspan="2"><label>Altitude: <%=(rs_dados.Fields.Item("altitude").Value)%></label></td>
<td width="83" align="center"><label><a href="atualizacliente.asp?rgi=<%=(rs_dados.Fields.Item("rgi").Value)%>">Editar</a>
</label></td>
<td width="73" align="center"><label>
<input type="image" name="lixeira" id="lixeira" src="images/trash_16.png" title="excluir"/>
</label></td>
</tr>
</table>
<input type="hidden" name="MM_delete" value="form_excluir" />
<input name="MM_recordId" type="hidden" value="<%=(rs_dados.Fields.Item("rgi").Value)%>" />
</form>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
rs_dados.MoveNext()
Wend
%>
</div>
</div>
</body>
</html>
<%
rs_vrp.Close()
Set rs_vrp = Nothing
%>
<%
rs_altitude.Close()
Set rs_altitude = Nothing
%>
<%
rs_dados.Close()
Set rs_dados = Nothing
%>
Pergunta
fabio_rita
Olá pessoal
Conto mais uma vez com a ajuda de vocês!!!
Tenho uma pagina que realiza uma inserção de dados num banco SQL.
O problema é que em caso de duplicidade, não sei como interromper o processo de inserção e exibir uma mensagem de alerta ao usuario, permitindo corrigir os dados digitados.
Mais uma vez obrigado
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.