View Full Version : Criar / Gravar / Apagar em Microsoft Visual Studio.NET 2003


Fil__
27-07-2007, 23:43
Boas ppl

Tou aqui com umas duvidas

Quando e para criar, apagar ou gravar um registo num programita que criei para gerir os socios de um clube (uma coisa muito simples) ele da sempre erro

A base de dados e simples e penso que esta bem construida

Podem dar-me alguma dica?

Ш¡zard·σf·Шαr
28-07-2007, 04:28
Diz-nos qual é o erro e o conteúdo da linha onde ele ocorre

Crepito
29-07-2007, 10:51
Primeiro dava jeito saber em que linguagem do visual studio fizeste o programa.

Um pekeno exemplo em visual basic 2003

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vbCode/html/vbtskCodeExampleSavingMultipleRowsOfData.asp

e

http://msdn2.microsoft.com/en-us/library/system.data.oledb.oledbdataadapter(VS.80).aspx (http://msdn2.microsoft.com/en-us/library/system.data.oledb.oledbdataadapter%28VS.80%29.aspx )

Eu xeguei a fazer isso pra faculdade mas ja n me lembro bem, apenas algumas keywords associadas.


Convem procurares no google para a linguagem que queres.
Keywords a utilizar: dataset , tableadapter

E ja agora consulta o help do visual studio.

alfinete
31-07-2007, 01:23
se for em vb.net 2005, com framework 2 , e sql server 2000, com ado net fica


gravar registo



Dim ligacao_entregues1 = New SqlConnection("data source=(local);initial catalog=Pedidos;" & _
"integrated security=SSPI;persist security info=True")
ligacao_entregues1.open()


' testa se existem registos do mesmo produto para 0 mesmo util
' no mesmo dia
'If cont = 0 Then

Dim inserir_sql_stock As String = " Insert into Tab_Pedidos_entregues( " & _
" Data,Quantidade,Id_utilizador,Id_produto) " & _
" values (@Dt,@Quantidade,@id_utilizador,@id_produto)"

Dim comando = New SqlCommand(inserir_sql_stock, ligacao_entregues1)

' cria as variaveis tipo sql parameter associadas aos respectivos tipos
Dim Dt As SqlParameter = New SqlParameter("@Dt", SqlDbType.VarChar)
Dim Quantidade As SqlParameter = New SqlParameter("@Quantidade", SqlDbType.BigInt)
Dim Id_utilizador As SqlParameter = New SqlParameter("@id_utilizador", SqlDbType.BigInt)
Dim Id_produto As SqlParameter = New SqlParameter("@id_produto", SqlDbType.Int)

' atribui o valor inserido no formulario de cada caixa de texto
' a variavel criada a cima
Dt.Value = data
Quantidade.Value = quant
Id_utilizador.Value = id_util
Id_produto.Value = id_prod

' insere os valores na bd
comando.Parameters.Add(Dt)
comando.Parameters.Add(Quantidade)
comando.Parameters.Add(Id_utilizador)
comando.Parameters.Add(Id_produto)

'retorna o número de registros afetados pela instrução SQL
'num =

Dim num As Integer = comando.executenonquery

If num = 1 Then
Me.Lbl_mensagem.Visible = True
Me.Lbl_mensagem.Text = "Pedido entregue com sucesso"


Else
Me.Lbl_mensagem.Visible = True
Me.Lbl_mensagem.Text = "Erro de sistema Favor contactar o Administrador "
End If


ligacao_entregues1.close()



eliminar (Apagar )registo




Dim ligacao_apagar = New SqlConnection("data source=(local);initial catalog=Pedidos;" & _
"integrated security=SSPI;persist security info=True")
ligacao_apagar.open()

Dim apagar_reg_req As String = " delete from Tab_Pedidos_requisitados " & _
" where Id_pedido =' " & id_pedido & "'"

Dim comando_apaga = New SqlCommand(apagar_reg_req, ligacao_apagar)

Dim apaga As Integer = comando_apaga.executenonquery

If apaga = 1 Then
Me.Lbl_mensagem.Visible = True
Me.Lbl_mensagem.Text = "Pedido entregue com sucesso"


Else
Me.Lbl_mensagem.Visible = True
Me.Lbl_mensagem.Text = "Erro de sistema Favor contactar o Administrador "
End If
'Dim comando_apagar = New SqlCommand(apagar_reg_req, ligacao_apagar)



ligacao_apagar.close()

espero que ajude a dica

eu utilizei este code numa aplicação web em asp.net com vb.net

penso que se atua bd não for sqlserver, a unica coisa que muda é como chamas a bd, mas isso é uma questão de pesquizares

nesta pagina

http://www.macoratti.net/indvbn.htm

Fil__
01-08-2007, 20:09
e em VB.net 2003 e nao uso sql, so Access

Podem explicar-me como crio um save para varios dataset? e k o k tenho so grava para um dataset, nao consigo k grave para os restantes

alfinete
02-08-2007, 01:25
mas penso que mesmo com access, tems de usar sql

basta mudares esta linha


Dim ligacao_entregues1 = New SqlConnection("data source=(local);initial catalog=Pedidos;" & _
"integrated security=SSPI;persist security info=True")



para o codigo que chama uma bd access

penso que é so isso

Fil__
02-08-2007, 11:12
Nop, nunca usei sql
Foi sp access e nc usei um codigo como esse que tens

Crepito
02-08-2007, 20:21
o visual studio faz as ligacoes automaticamente a base de dados atraves dos assistentes. A maneira como se faz no 2003 e diferente do 2005 por isso n te posso ajudar.

Isto e, gera automaticamente um dataset, um tableadapter e isso...

alfinete
03-08-2007, 02:19
eu por acaso nam sou muito fam de wizaerds, gosto mais de code

VioletFluid
03-08-2007, 08:06
Uma rápida procura no google mostra o que pretendes:

http://www.w3schools.com/aspnet/aspnet_dbconnection.asp

Fil__
03-08-2007, 11:18
Desculpa Violet Fluid, nao leves a mal mas o que é que o link k meteste tem a ver com programaçao em vb.net2003? E que tive a ver e os exemplos de codigo nao tem NADA a ver com codigo em VB. N leves a mal, eu e que posso tar a entender mal a coisa. Corrige-me se tiver errado

VioletFluid
03-08-2007, 23:59
Desculpa, pensava que o interesse era para asp.net, não reparei que era para vb.net. No entanto, julgo que também funciona em vb.net.