Array
(
)

Dúvida para se conectar a BD access

Galenosf
   - 26 abr 2008

Pessoal, sou novo em ASP .NET e estou precisando criar uma tela para cadastro de algumas informações.

Estou tentando fazer uma conexão via código porém esta sendo retornado um erro Declaration expected; Sei que este erro deve ser super simples, mais como sou novo no meio estou apanhando.

Este é o codigo.

Dim queryString As String = ´SELECT * FROM dadosav´
Dim banco As New OleDbCommand(queryString)
banco.Connection = New OleDbConnection(´Provider=Microsoft.Jet.OLEDB.4.0;Data Source=App_Data\passagem.mdb´)
banco.CommandTimeout = 20

A variável que ésta retornando erro é a ´banco´

Gostaria tambem, de saber como farei para cadastrar; e editar as informações desta tabela em questão.

Obrigado a todos...:!: :!:

D3v3l0p3r1
   - 26 abr 2008

defina primeiro a conexão:

#Código

Imports System.Data.OleDb

Dim banco As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("~/passagem.mdb") & ";"
banco.Open()


e depois o command:

#Código
Dim queryString As String = "SELECT * FROM dadosav"
Dim command1 As New OleDbCommand(queryString, banco)


, etc

Ricardo Silva
   - 27 abr 2008

naum manjo nada de VB mas em C#
tem que dar um banco.open(); antes de executar o estrução SQL e depois um banco.close();

tenta ai....

Galenosf
   - 28 abr 2008

Legal, valew a dica!!! Vou testar, mais ainda estou com uma dúvida, como eu façõ para acessar as colunas...exemplo, no botão cadastrar quero que ele faça a conexão acima citada e jogue no campo NS AV da tabela os valores que estão na caixa de texto AV por exemplo.

Obrigado a todos![/i]

D3v3l0p3r1
   - 29 abr 2008

vc quer q quebre a informação q está na caixa de texto AV e jogue nos campos NS e AV da tabela do seu banco? que tipo de dados são eles? string, integer, double, boolean? e pq vc usa códigos para nomes de campos? assim, se uma outra pessoa precisar mexer nesse código aí, ela não vai entender bulhufas o q significa NS e AV, enfim, uma dica q te estou dando.

Galenosf
   - 29 abr 2008

então, na verdade eu preciso jogar os dados do campo ns_av na caixa de texto txt_ns_av.

Quanto a entender os termos, são termos usados em nosso dia a dia aqui na empresa, NS significa Número de Série e Av significa Avião, ou seja Número de série do Avião.

D3v3l0p3r1
   - 29 abr 2008

ok, vc poderia fazer assim:

.
.
.

Imports System.Data.OleDb

.
.
.

Dim banco As New OleDbConnection
banco.ConnectionString = ´Provider=Microsoft.Jet.OLEDB.4.0;Data Source=´ & Server.MapPath(´~/passagem.mdb´) & ´;´

banco.Open()

Dim command1 As New OleDbCommand
command1.Connection = banco
command1.CommandType = CommandType.Text

dim strSQL as string

strSQL = ´INSERT INTO tabela1´ & vbNewLine
strSQL = strSQL & ´(´ & vbNewLine
strSQL = strSQL & ´ns_av´ & vbNewLine
strSQL = strSQL & ´)´ & vbNewLine
strSQL = strSQL & ´VALUES´ & vbNewLine
strSQL = strSQL & ´(´ & vbNewLine
strSQL = strSQL & ´´´ & txt_ns_av.Text & ´´´ & vbNewLine
strSQL = strSQL & ´)´

command1.CommandText = strSQL
command1.ExecuteNonQuery()

.
.
.

mas é claro q no meio disso aí, eu geraria 2 classes, 1 de conexão, substituindo o q está marcado em vermelho e outra classe com o nome da tabela q está sendo utilizada substituindo o q está marcado em laranja, pois assim além de diminuir a qtd de código, vc poderia reaproveitar ele em vários outros form´s, entende? é a chamada programação orientada a objetos, pois do jeito q está, temos a antiga programação estruturada. mais 1 dica, é sempre melhor colocar esse código dentro da cláusula try-catch-finally, q é a melhor forma de vc capturar erros previstos e imprevistos de sua aplicação, e gerar uma mensagem de erro mais apresentável para o usuário.