RINGO Posted June 30, 2004 Report Share Posted June 30, 2004 Olá Pessoal.Gostaria de uma ajuda.Estou tentando fazer uma inclusão no Banco de Dados access com oexemplo abaixo.Mas não estou conseguindo, está ocorrendo um erro de que o Bando dedados pode ser somente leitura.Como posso fazer para acertar esse erro?Ah! estou usando IISSe alguém poder me auxliar, ficarei grato.HTML><HEAD><TITLE>Incluir.html- Examplo</TITLE></HEAD><BODY><H1>Incluindo um novo Cliente </H1><FORM METHOD="POST" ACTION="incluir.ASP"><TABLE> <TR><TD>Nome:</TD> <TD><INPUT NAME="Nome" SIZE=20></TD></TR> <TR><TD>Endereço:</TD> <TD><INPUT NAME="Endereco" SIZE=40></TD></TR> <TR><TD>Cidade:</TD> <TD><INPUT NAME="Cidade" SIZE=20></TD></TR> <TR><TD>Estado:</TD> <TD><INPUT NAME="Estado" SIZE=6></TD></TR> <TR><TD>Cep:</TD> <TD><INPUT NAME="Cep" SIZE=10></TD></TR></TABLE><BR><INPUT TYPE="SUBMIT" VALUE="Salvar Registro"><INPUT TYPE="RESET" VALUE="Limpar Campos"><BR><BR><A HREF="menu.html">Abandonar edição e retornar a pagina principal</A></FORM></BODY></HTML>-----------------------------------------------------------------------------------<HTML><HEAD><TITLE>incluir2.asp - Exemplo</TITLE></HEAD><BODY><H1> Incluindo um novo cliente </H1><%Dim conDim rstConst adOpenKeyset = 1Const adLockOptimistic = 3' Cria os objetosSet con = Server.CreateObject("ADODB.Connection")Set rst = Server.CreateObject("ADODB.Recordset")' Abre a conexão com o banco de dados agenda.mdbcon.Open "DBQ=C:\asp_db\agenda.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"' Cria um Recordset do tipo keyset baseado na tabela clientes' usando o bloqueio otimistarst.Open "SELECT * FROM clientes", con, adOpenKeyset, adLockOptimistic' Cria um registro em brancorst.AddNew ' Recebe os dados do formulário e os atribui aos campos da tabela cliente rst("Nome")= Request.Form("Nome") rst("Endereco")= Request.Form("Endereco") rst("Cidade")= Request.Form("Cidade") rst("Estado")= Request.Form("Estado") rst("Cep")= Request.Form("Cep")' Salva o registro rst.UpdateResponse.Write "<B>Registro salvo com sucesso !</B>"rst.Closecon.Close%><BR><A HREF="menu.html">Retorna a página principal</A></BODY></HTML> Quote Link to comment Share on other sites More sharing options...
0 dark0 Posted June 30, 2004 Report Share Posted June 30, 2004 clique com o botao direito do mouse na pasta onde esta o banco, vá em propriedades, desmaque Somente Leitura, dê ok.faça o mesmo com o banco. Quote Link to comment Share on other sites More sharing options...
0 ar_ctjd Posted June 30, 2004 Report Share Posted June 30, 2004 Bom RINGO, eu conheço um outro jeito de se fazer isso, que normalmente funciona.Pelo que eu entendi ali, você deixa a conexão aberta o tempo todo.Utilizando o recordset.update.Você pode fazer o seguinte:Abra a conexão:Crie uma variável que servira como string para a operação de incluir.SQL = "Insert Into anuncios (campo1,campo2,campo3...) values(valor1,valor2,valor3...)"Depois você usa o recordset, só para executar a operação.Set RS = conexao.execute(SQL)Sendo que conexao é a váriavel que você declarou como uma conexão. Quote Link to comment Share on other sites More sharing options...
Question
RINGO
Olá Pessoal.
Gostaria de uma ajuda.
Estou tentando fazer uma inclusão no Banco de Dados access com o
exemplo abaixo.
Mas não estou conseguindo, está ocorrendo um erro de que o Bando de
dados pode ser somente leitura.
Como posso fazer para acertar esse erro?
Ah! estou usando IIS
Se alguém poder me auxliar, ficarei grato.
HTML>
<HEAD>
<TITLE>Incluir.html- Examplo</TITLE>
</HEAD>
<BODY>
<H1>Incluindo um novo Cliente </H1>
<FORM METHOD="POST" ACTION="incluir.ASP">
<TABLE>
<TR><TD>Nome:</TD>
<TD><INPUT NAME="Nome" SIZE=20></TD></TR>
<TR><TD>Endereço:</TD>
<TD><INPUT NAME="Endereco" SIZE=40></TD></TR>
<TR><TD>Cidade:</TD>
<TD><INPUT NAME="Cidade" SIZE=20></TD></TR>
<TR><TD>Estado:</TD>
<TD><INPUT NAME="Estado" SIZE=6></TD></TR>
<TR><TD>Cep:</TD>
<TD><INPUT NAME="Cep" SIZE=10></TD></TR>
</TABLE>
<BR><INPUT TYPE="SUBMIT" VALUE="Salvar Registro">
<INPUT TYPE="RESET" VALUE="Limpar Campos">
<BR><BR><A HREF="menu.html">Abandonar edição e retornar a pagina principal</A>
</FORM>
</BODY>
</HTML>
-----------------------------------------------------------------------------------
<HTML>
<HEAD>
<TITLE>incluir2.asp - Exemplo</TITLE>
</HEAD>
<BODY>
<H1> Incluindo um novo cliente </H1>
<%
Dim con
Dim rst
Const adOpenKeyset = 1
Const adLockOptimistic = 3
' Cria os objetos
Set con = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")
' Abre a conexão com o banco de dados agenda.mdb
con.Open "DBQ=C:\asp_db\agenda.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"
' Cria um Recordset do tipo keyset baseado na tabela clientes
' usando o bloqueio otimista
rst.Open "SELECT * FROM clientes", con, adOpenKeyset, adLockOptimistic
' Cria um registro em branco
rst.AddNew
' Recebe os dados do formulário e os atribui aos campos da tabela cliente
rst("Nome")= Request.Form("Nome")
rst("Endereco")= Request.Form("Endereco")
rst("Cidade")= Request.Form("Cidade")
rst("Estado")= Request.Form("Estado")
rst("Cep")= Request.Form("Cep")
' Salva o registro
rst.Update
Response.Write "<B>Registro salvo com sucesso !</B>"
rst.Close
con.Close
%>
<BR><A HREF="menu.html">Retorna a página principal</A>
</BODY>
</HTML>
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.