Jump to content
Sign in to follow this  
Fest

VB.net e delete, upgrade, insert em base de dados do access

Recommended Posts

Fest

Olá a todos, eu sou muito verde em programação e ainda mais em vb.net mas foi me pedido que fizesse um programa que acede a uma base de dados  e que possibilite ver os dados e alterar inserir e remover. Eu já cosegui fazer a parte do select mas estou com muitas dificuldades nos outros comandos, já andei pela net a ver como se fazia e optei por uma opçao que segundo o que percebi, faz uma ligação direta à base de dados, o que eu preferia a guardar num dataset e só depois fazer o update (pois penso que com isto teria de colocar no dataset a base de dados toda de forma a poder fazer o update certo). Para esta Ligação direta o que eu encontrei foi ADODB que não sei muito bm o que é mas os exemplos que vi utilizavam isto. O meu problema em todas as tentativas que fiz é Err.VisualObj.

Imports System.Data
Imports System.Data.OleDb
Imports System.IO
Imports System.Data.Common
Imports System.Data.SqlClient
Imports System.Drawing.Drawing2D
Public Class Form2
    Dim Conn As ADODB.Connection
    Dim cnnOLEDB As New OleDbConnection
    Dim cmdOLEDB As New OleDbCommand
    Dim cmdInsert As New OleDbCommand
    Dim cmdUpdate As New OleDbCommand
    Dim cmdDelete As New OleDbCommand
    Dim fldr As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\Visual Studio 2008\Projects\bu/BD.mdb"
    Dim strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & fldr
    Dim Con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & fldr)
    Dim Cmd As OleDbCommand
    Dim SQL As String
    Dim objCmd As New OleDbCommand

    Private Sub Folha2BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Validate()
        Me.Folha2BindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.BDDataSet)

    End Sub

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'BDDataSet.Folha2' table. You can move, or remove it, as needed.
        cnnOLEDB = New OleDbConnection(strConnectionString)
        cnnOLEDB.ConnectionString = strConnectionString
        cnnOLEDB.Open()
    End Sub
Private Sub ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ok.Click
        If validateData() = True Then
            Try
                If ok.Text = "Criar" Then
                    'cmdInsert.CommandText = "INSERT INTO Folha2 "
                    'cmdInsert.CommandText &= "(Fornecedor,Familia,Subfamilia,Produto,Medidas,Unidades,Marca,Código,QTEMB,CX:Grande,Preço,IVA)"
                    'cmdInsert.CommandText &= " VALUES ('" & TXfornecedor.Text & "'," & "'" & TXfamilia.Text & "',"
                    'cmdInsert.CommandText &= "'" & TXsubfamilia.Text & "'," & "'" & TXproduto.Text & "'," & "'" & TXmedidas.Text & "',"
                    'cmdInsert.CommandText &= "'" & TXunidades.Text & "'," & "'" & TXmarca.Text & "'," & "'" & TXcodigo.Text & "',"
                    'cmdInsert.CommandText &= "'" & TXqemb.Text & "'," & "'" & TXcxgrande.Text & "'," & TXpreco.Text & "," & TXiva.Text & ")"
                    'cmdInsert.CommandType = CommandType.Text
                    'cmdInsert.Connection = cnnOLEDB
                    'cmdInsert.ExecuteNonQuery()
                    'cmdInsert.Dispose()

                    SQL = "INSERT INTO Folha2 "
                    SQL &= "(Fornecedor,Familia,Subfamilia,Produto,Medidas,Unidades,Marca,Código,QTEMB,CX:Grande,Preço,IVA)"
                    SQL &= " VALUES ('" & TXfornecedor.Text & "'," & "'" & TXfamilia.Text & "',"
                    SQL &= "'" & TXsubfamilia.Text & "'," & "'" & TXproduto.Text & "'," & "'" & TXmedidas.Text & "',"
                    SQL &= "'" & TXunidades.Text & "'," & "'" & TXmarca.Text & "'," & "'" & TXcodigo.Text & "',"
                    SQL &= "'" & TXqemb.Text & "'," & "'" & TXcxgrande.Text & "'," & TXpreco.Text & "," & TXiva.Text & ")"
                    Cmd = New OleDbCommand(SQL, Con)
                    Con.Open()
                    objCmd = New OleDbCommand(SQL, Con)
                    objCmd.ExecuteNonQuery()
                    Con.Close()
                Else
                    'cmdUpdate.CommandText = "UPDATE Folha2 SET Fornecedor = '" & TXfornecedor.Text & "'," & " Familia = '" & TXfamilia.Text & "',"
                    'cmdUpdate.CommandText = " Subfamilia = " & "'" & TXsubfamilia.Text & "'," & " Produto = '" & TXproduto.Text & "',"
                    'cmdUpdate.CommandText = " Medidas = " & "'" & TXmedidas.Text & "'," & " Unidades = '" & TXunidades.Text & "',"
                    'cmdUpdate.CommandText = " Marca = " & "'" & TXmarca.Text & "'," & " Código = '" & TXcodigo.Text & "',"
                    'cmdUpdate.CommandText = " QTEMB = " & "'" & TXqemb.Text & "'," & " CX:GRANDE = '" & TXcxgrande.Text & "',"
                    'cmdUpdate.CommandText = " Preço = " & TXsubfamilia.Text & "," & " Produto = " & TXproduto.Text
                    'cmdUpdate.CommandText = " WHERE ID = " & IDdata.Text
                    'cmdUpdate.CommandType = CommandType.Text
                    'cmdUpdate.Connection = cnnOLEDB
                    'cmdUpdate.ExecuteNonQuery()
                    'cmdUpdate.Dispose()
                    SQL = "UPDATE Folha2 SET Fornecedor = '" & TXfornecedor.Text & "'," & " Familia = '" & TXfamilia.Text & "',"
                    SQL = " Subfamilia = " & "'" & TXsubfamilia.Text & "'," & " Produto = '" & TXproduto.Text & "',"
                    SQL = " Medidas = " & "'" & TXmedidas.Text & "'," & " Unidades = '" & TXunidades.Text & "',"
                    SQL = " Marca = " & "'" & TXmarca.Text & "'," & " Código = '" & TXcodigo.Text & "',"
                    SQL = " QTEMB = " & "'" & TXqemb.Text & "'," & " CX:GRANDE = '" & TXcxgrande.Text & "',"
                    SQL = " Preço = " & TXsubfamilia.Text & "," & " Produto = " & TXproduto.Text
                    SQL = " WHERE ID = " & IDdata.Text
                    'SQL = CommandType.Text
                    Conn.Execute(SQL)
                    'Cmd = New OleDbCommand(SQL, Con)
                    'Con.open()
                    'objCmd = New OleDbCommand(SQL, Con)
                    'objCmd.ExecuteNonQuery()
                    'Con.Close()
                End If
            Catch ex As Exception
                MsgBox(Err.ToString, MsgBoxStyle.Critical, "ATTENTION")
                'cmdInsert.Dispose()
                'cmdUpdate.Dispose()
            End Try
        Else
            MsgBox("there is either missing data or invalid one", MsgBoxStyle.Critical, "ERROR")
        End If
    End Sub

Share this post


Link to post
Share on other sites
Chaveca

Ou seja? É que não faço ideia da tua duvida...


"Há 10 tipos de pessoas, as que sabem binário e as que não...""Run DOS, Run!"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.