RINGO Postado Junho 30, 2004 Denunciar Share Postado Junho 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> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Junho 30, 2004 Denunciar Share Postado Junho 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ar_ctjd Postado Junho 30, 2004 Denunciar Share Postado Junho 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
2 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.