View Full Version : vb.net


Danyel
24-10-2006, 11:11
ola olhem eu estou com uma dúvida. Como ek se inserem registos numa tabela de uma base de dados de access em Vb.net?? Sobretudo em código

d@niel
24-10-2006, 16:27
exprimenta este codigo:

imports system.data.oledb
'colocar antes da class

dim oledbconn as new oledbconnection(" "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & applicattion.startuppath & "\bdados.mdb;User Id=admin;Password=;"")
oledbconn.open
dim oledbcmd as new oledbcommand("Insert Into Tabela(nome) Values("nome")",oledbconn)
if oledbmd.executenonquery<>0 then
'registo efectuado
else
'registo falhado
end if
oledbcmd=nothing
oledbconn.close
oledbconn=nothing

espero que este codigo sirva, se der algum erro diz pk que nao o testei, mas em principio funciona

Danyel
25-10-2006, 09:42
o código tava certo em relação às variaveis e na conexao da base de dados mx o programa dá erro no If. se puderes ajuda-me

if oledbmd.executenonquery<>0 then -ERRO
'registo efectuado
else
'registo falhado
end if

AwakE
25-10-2006, 15:14
Qual erro é a pergunta obvia que se faz :D

Danyel
26-10-2006, 08:44
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

é este o erro. Sei qual o problema deve estar no ciclo if mx n sei como corrigi-lo. se puderes responder depressa por favor ek eu preciso mesmo disto

Danyel
26-10-2006, 08:45
se kiseres tb posso-te enviar a minha base de dados e o programa pra tu avaliares o erro. obrigado

d@niel
26-10-2006, 20:44
dsc la a demora

foi um erro de escrita

if oledbmd.executenonquery<>0 then
aqui falta a letra "c" no oledbcmd

fica assim if oledbcmd.executenonquery<>0 then

Danyel
31-10-2006, 09:08
olha dsc la mx o problema n estava aí pk eu alterei o oledbcmd para comando, o nome da minha variavel já lançada mx o erro continua e penso que se trata do k vem a seguir no ciclo if e não nessa linha. se puderes traduzir-me isto agradecia

'registo efectuado
else
'registo falhado
end if
oledbcmd=nothing
oledbconn.close
oledbconn=nothing

JGAlmeida
31-10-2006, 17:37
Esse erro é bastante genérico, indica que há um problema qq ao nivel do acesso à bd. Tenta apanhar um erro mais específico para perceber o que está mal.

try

'+++++++++++++++++++++++
' metes o teu codigo aqui...
'+++++++++++++++++++++++

catch erro as oledbexception '<- breakpoint nesta linha

dim i as integer

For i = 0 To erro.Errors.Count - 1
dim Message as string = erro.Errors(i).Message
dim NativeError as string = erro.Errors(i).NativeError
dim Source as string = erro.Errors(i).Source
dim SQLState as string = erro.Errors(i).SQLState
Next i

end try


Quando ele parar no breakpoint vais correndo com F10 e vê se encontras o problema.

Boa sorte.