Ir para conteúdo

POWERED BY:

Arquivado

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

Reginaldo

Alterar um registro

Recommended Posts

Salve povo da rede!

 

eu teno um banco de dados em access, contém alguns registros.. preciso montar um sistema para fazer alterações nesses registros, ou seja, apenas em um dos registros, poi é uma opção do administrador... alterar informações dos cadastrados...

a primeira coisa que eu fiz antes disso foi criar uma busca, ela localiza o registro que eu quero pelo codigo, pois não existem 2 iguais no banco, essa consulta exibe pro administrador todos os dados do registro em um formulário, no qual ele pode alterar os dados que ele quiser e clicar no botão submit que chamei de "alterar".. e ai ele processa essa rotina:

 

<%@ Language=VBScript%><!-- #include file="Adovbs.inc"--><%Dim BdvisitantesSet Bdvisitantes= Server.CreateObject("ADODB.Connection")Bdvisitantes.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=adm/dados/usuarios.mdb;"%><%dim objerro, Procura, idid = Request("id")procura="SELECT * FROM visitantes WHERE id = '"&id&"'"	nome = Request("nome")	empresa = Request("empresa")	fone = Request("fone")	fax = Request("fax")	email = Request("email")	uf = Request("uf")	cnpj = Request("cnpj")	usuario = Request("usuario")	senha = Request("senha")	nivel = Request("nivel")		Set Recvisitantes = Server.CreateObject("ADODB.Connection")	SQL = "UPDATE visitantes SET nome='"&nome&"',empresa='"&empresa&"',fone='"&fone&"',fax='"&fax&"',email='"&email&"',uf='"&uf&"',cnpj='"&cnpj&"',usuario='"&login&"',senha='"&senha&"',nivel='"&nivel&"' WHERE id='"&id&"'"	Recvisitantes.Open Bdvisitantes	Recvisitantes.execute (procura)Response.Redirect("sucesso.asp") %>

o erro que me aparece é esse:

 

microsoft jet database engine error '80040e07'

data type mismatch in criteria expression.

linha 31

 

se reaprarem a linha 30 é a que esta com o

Recvisitantes.execute (procura)
a linha 31 é a de baixo que esta em branco, pois dei um enter la só por questão de organização...

 

o povo me da uma força ai... me parece tudo certo.. num tenho ideia do q ta acontecendo..

 

desde ja agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Substitua esta linha:

procura="SELECT * FROM visitantes WHERE id = '"&id&"'"

Por esta:

procura="SELECT * FROM visitantes WHERE id = "&id&""

Repare que eu retirei as aspas simples '', pois elas só são necessárias quando se tem um texto no critério.Qualquer dúvida, posta ai de novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente substituir essa linha:

Set Recvisitantes = Server.CreateObject("ADODB.Connection")SQL = "UPDATE visitantes SET nome='"&nome&"',empresa='"&empresa&"',fone='"&fone&"',fax='"&fax&"',email='"&email&"',uf='"&uf&"',cnpj='"&cnpj&"',usuario='"&login&"',senha='"&senha&"',nivel='"&nivel&"' WHERE id='"&id&"'"Recvisitantes.Open BdvisitantesRecvisitantes.execute (procura)

Por esta:

SQL = "UPDATE visitantes SET nome='"&nome&"',empresa='"&empresa&"',fone='"&fone&"',fax='"&fax&"',email='"&email&"',uf='"&uf&"',cnpj='"&cnpj&"',usuario='"&login&"',senha='"&senha&"',nivel='"&nivel&"' WHERE id="&id&" "Bdvisitantes.execute(SQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

:o denovo.. agora deu esse erro:Microsoft JET Database Engine error '80040e10' No value given for one or more required parameters. /adm/altera2.asp, line 29 linha 29 é: Bdvisitantes.execute(SQL) :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

SQL = "UPDATE visitantes SET nome='"&nome&"',empresa='"&empresa&"',fone='"&fone&"',fax='"&fax&"',email='"&email&"',uf='"&uf&"',cnpj='"&cnpj&"',usuario='"&login&"',senha='"&senha&"',nivel='"&nivel&"' WHERE id='"&id&"' "Bdvisitantes.execute(SQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

a rotina ja está assim:

<%@ Language=VBScript%><!-- #include file="Adovbs.inc"--><%Dim BdvisitantesSet Bdvisitantes= Server.CreateObject("ADODB.Connection")Bdvisitantes.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=adm/dados/usuarios.mdb;"%><%dim objerro, id, nome, empresa, fone, fax, email, uf, cnpj, usuario, senha, nivel	id = Request.QueryString("id")	nome = Request("nome")	empresa = Request("empresa")	fone = Request("fone")	fax = Request("fax")	email = Request("email")	uf = Request("uf")	cnpj = Request("cnpj")	usuario = Request("usuario")	senha = Request("senha")	nivel = Request("nivel")		Set Recvisitantes = Server.CreateObject("ADODB.Connection")	SQL = "UPDATE visitantes SET nome='"&nome&"',empresa='"&empresa&"',fone='"&fone&"',fax='"&fax&"',email='"&email&"',uf='"&uf&"',cnpj='"&cnpj&"',usuario='"&login&"',senha='"&senha&"',nivel='"&nivel&"' WHERE id='"&id&"'"	Recvisitantes.Open Bdvisitantes	response.write sql	response.flush	Bdvisitantes.execute(SQL)Response.Redirect("sucesso.asp") %>

o erro agora é esse:

UPDATE visitantes SET nome='Regis',empresa='teste',fone='teste',fax='teste',email='teste',uf='teste',cnpj='teste',usuario='',senha='123457',nivel='1' WHERE id=''

Microsoft JET Database Engine error '80040e10'

 

No value given for one or more required parameters.

 

/adm/altera2.asp, line 31

 

a linha 31 é: Bdvisitantes.execute(SQL)

 

será q alguem fez macumba pra mim ? numca tive tanto problema pra grava no banco.. rs

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.