Ir para conteúdo

POWERED BY:

Arquivado

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

Thaís Mesquita

[Resolvido] Inserindo registros numa tabela

Recommended Posts

Bom dia pessoal!

 

Já postei no fórum como fazer a conexão com um banco sql server...Mas estou tentando inserir dados na tabela e esta dando o seguinte erro:

 

ADODB.Recordset (0x800A0BB9)

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

 

Meu código:

ASP
<%

<!--#include virtual="/conecta.inc"-->

nome=request.form("txtNome")

login=request.form("txtLogin")

senha=request.form("pwdSenha")

confirmaSenha=request.form("pwdConfirmaSenha")

 

Set RS = Server.CreateObject("ADODB.RecordSet") 'para abrir um recordset

RS.CursorLocation = 3

RS.CursorType = 3

RS.Open SQL, Conn

 

SQL = "select * from Usuario()"

 

 

Set bd = Server.CreateObject("ADODB.Connection") 'para abrir uma conexão

bd.Open Conn

 

RS.AddNew

 

 

set nome = request.form("nome")

set login=request.form("login")

set senha=request.form("senha")

set confirmaSenha=request.form("confirmaSenha")

Set rsQuery = conexao.Execute("insert into Usuario(Nome,Login,Senha,ConfirmaSenha) values('"+nome+";"+login+";"+senha+";"+confirmaSenha+"')")

 

%>

 

O que posso estar fazendo de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade,

 

esse código aqui

 

ASP
set nome = request.form("nome")

set login=request.form("login")

set senha=request.form("senha")

set confirmaSenha=request.form("confirmaSenha")

Set rsQuery = conexao.Execute("insert into Usuario(Nome,Login,Senha,ConfirmaSenha) values('"+nome+";"+login+";"+senha+";"+confirmaSenha+"')")

 

Acho que você não precisa usar.

 

Após o AddNew, você faz o seguinte.

 

 

ASP
RS("nome_campo") = recebe_variavel

 

e vai fazendo até acabar com o seu cadastro.

 

Ai no final dessa linha, você coloca

 

ASP
RS.Update

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque o erro aqui.

ADODB.Recordset (0x800A0BB9)

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

 

Bom, esse erro está ocorrendo pq você está tentando abrir uma string que AINDA não existe... olhe denovo.. você disse que está dando erro na linha:

RS.Open SQL, Conn

certo??

 

pois entao... nas 3 linhas antes dela você "setou" um recordset... ateh ai tudo bem... depois que você setou o recordset você tem que colocar a string SQL, que no caso seria:

SQL = "select * from Usuario()"

dai sim DEPOIS você vai colocar a linha RS.Open SQL, Conn...

 

cuidado tbm nos campos que você está adicionando... vi que você está adicionando login sem aspas simples, mas lembre-se.. se o campo do DB for texto, você tem que colocar aspas simples (como fez no nome). e quando for numerico ou binario você tira as aspas simples...

 

aconselho tbm a você inserir apenas a senha, e nao sua confirmação... use a confirmação apenas para comparar na hora do cadastro, pois você nao vai usa-la novamente depois disso e soh vai ocupar espaço do banco...

 

repare tbm que uma hora você chama a conexao de CONEXAO e depois de CONN... depois que você estabelece um nome, tem que usar este mesmo nome sempre, ok?

 

vou colocar abaixo como EU faria este código, lembrando que cada um tem sua maneira... esta seria a minha:

 

<%
<!--#include virtual="/conecta.inc"-->
nome=request.form("txtNome")
login=request.form("txtLogin")
senha=request.form("pwdSenha")

Set bd = Server.CreateObject("ADODB.Connection") 'para abrir uma conexão
bd.Open Conn

SQL = "insert into Usuario(Nome,Login,Senha) values('"&nome&"', '"&login&"', '"&senha&"')"
bd.Execute SQL

Response.Redirect "pagina.asp"

bd.Close
Set bd = Nothing

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa! Primeiro, obrigada pela atenção né...

Bom,

depois de ter feito as alterações que você me indicou..percebi que por falta de experiência e por estar buscando informações de diversos lugares, acabei me confundindo com alguns nomes. O confirma senha continua pq essa é uma telas de cadastro de usuarios e vi que tinha um erro no arquivo de conexão.

 

Usei a palavra SERVER para constante, mudei para servidor e percebi que o include estava dentro do <% %>.

 

Depois de tudo isso, ainda vi que o owner do banco estava dbo e tive que pedir ao analista para fazer as devidas modificações.

 

Aí sim consegui ter sucesso no cadastro...depois de muita luta rsrsrsrs

 

 

Muito Obrigada pela ajuda. Obrigada mesmo!

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa! Primeiro, obrigada pela atenção né...

Bom,

depois de ter feito as alterações que você me indicou..percebi que por falta de experiência e por estar buscando informações de diversos lugares, acabei me confundindo com alguns nomes. O confirma senha continua pq essa é uma telas de cadastro de usuarios e vi que tinha um erro no arquivo de conexão.

 

Usei a palavra SERVER para constante, mudei para servidor e percebi que o include estava dentro do <% %>.

 

Depois de tudo isso, ainda vi que o owner do banco estava dbo e tive que pedir ao analista para fazer as devidas modificações.

 

Aí sim consegui ter sucesso no cadastro...depois de muita luta rsrsrsrs

 

 

Muito Obrigada pela ajuda. Obrigada mesmo!

 

Abraço.

hahaha

nossa, verdade.. tinha tanta falha pequenininha que era dificil ateh de identificar... nem tinha visto que o include tava dentro das tags de asp, por exemplo.. hehehhee

 

e constante em asp se usa Const (caso você precise)...

Bom, caso precise de ajuda novamente eh soh postar aqui no forum!! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensei que tivesse resolvido... :(

 

não apresenta erro nenhum, mas não grava no banco...

 

meu código:

 

ASP
<!--#include file="inc/conecta.inc"-->

 

<%

 

nome=request.form("txtNome")

login=request.form("txtLogin")

senha=request.form("pwdSenha")

confirmaSenha=request.form("pwdConfirmaSenha")

 

SQL = "select * from Usuario"

 

set rs = bd.execute(sql)

 

if 1 = 2 then

 

SQL = "insert into Usuario(Nome,Login,Senha,ConfirmaSenha) values('" & nome & "','" & login & "','"& senha &"','" & confirmaSenha &"')"

 

on error resume next

 

        bd.Execute(SQL)

 

        if err then

                response.write "Erro"

        else

                response.write "OK"

        end if

 

on error goto 0

end if

 

 

 

%>

 

 

 

O q q esta errado agora?????????

 

Opaaaaa!!!!! Desculpem....esqueci de tirar uma linha q coloquei so p teste: if 1 = 2 then

 

Obrigada!!!!!!!!!!!!!!!

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.