CRIAR BASE DE DADOS ACCESS VIA CÓDIGO

 Tópico anterior Próximo tópico Novo tópico

CRIAR BASE DE DADOS ACCESS VIA CÓDIGO

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#491389 - 21/11/2019 16:01:40

PROGRAMADORVB6
LISBOA
Cadast. em:Janeiro/2004


 Anexos estao visíveis somente para usuários registrados

olá boa tarde.
Tenho uma base de dados de carros feito em access com chave primária , mas gostaria de a construir via código vb.net como a posso fazer?
a ligação via código é esta:

Imports System.Data.OleDb
Module modLigacao_Access
    Public Ligacao As New OleDbConnection
  
    Public Sub AbrirBD()
        Try
            Ligacao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\Viaturas.mdb"
            Ligacao.Open()
        Catch ex As Exception
             ' CRIAR A BASE DE DADOS VIA CÓDIGO
            End
        End Try
    End Sub
End Module

Grato desde já pela vossa atenção.
programadorvb6

______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.


Resposta escolhida #491390 - 21/11/2019 16:32:02

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Você pode criar o script SQL correspondente à sua base. CREATE TABLE, CREATE DATABASE e por aí vai.
E considere o uso de um banco de dados mais robusto, Access é pedir pra ter dor de cabeça.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#491391 - 21/11/2019 16:58:56

PROGRAMADORVB6
LISBOA
Cadast. em:Janeiro/2004


Olá KERPLUNK , obrigado desde já por ter respondido, mas não posso fugir aos parâmetros que me impuseram tem mesmo que ser criado via código .net e que seja em uma base .mdb

______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.


#491393 - 21/11/2019 17:04:32

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Sem problemas, pode ser access mesmo. Tudo que precisa fazer é conectar no banco e executar script para criação de tabelas
Fica mais ou menos assim:

    Public Sub AbrirBD()
        Try
            Ligacao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\Viaturas.mdb"
            Ligacao.Open()
        Catch ex As Exception
              Dim cmd As New OleDbCommand
              cmd.Connetion = Ligacao
              cmd.Command = "CREATE TABLE bla bla bla bla bla"
              cmd.ExecuteNonScalar()
            End
        End Try
    End Sub


_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#491396 - 21/11/2019 17:56:21

CLEVERTON
SERRINHA
Cadast. em:Dezembro/2003


Membro da equipe
Via Entity Framework (Code First) não resolve a parada ?



#491397 - 21/11/2019 18:24:19

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Citação:
:
Via Entity Framework (Code First) não resolve a parada ?

Nem mencionei isso. Se ele está com dificuldades nessa parte mais básica, com certeza ainda nem começou o aprendizado para o EF.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#491415 - 22/11/2019 08:13:15

PROGRAMADORVB6
LISBOA
Cadast. em:Janeiro/2004


Última edição em 22/11/2019 10:09:11 por PROGRAMADORVB6

Ola pessoal , tentei fazer como o colega KERPLUNK fez o exemplo e não deu certo, me perdoem a minha ignorância mas no access eu consigo fazer sem problemas mas agora via código nem sei como.


______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.


#491416 - 22/11/2019 09:17:50

PROGRAMADORVB6
LISBOA
Cadast. em:Janeiro/2004


Última edição em 22/11/2019 10:17:19 por PROGRAMADORVB6

 Anexos estao visíveis somente para usuários registrados

Tentei fazer assim e dá erro de sintaxe não cria a base de dados Viaturas.mdb com as respectivos campos

Imports System.Data.OleDb
Imports System.Text

Public Class Form1
    Public Ligacao As New OleDbConnection
    Public SQL As StringBuilder

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Ligacao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\Viaturas.mdb"
        SQL = New StringBuilder
        SQL.Append("CREATE TABLE Viaturas [Matriculas] NCHAR (15)  NOT NULL PRIMARYKEY, [Nome] NCHAR (25) NOT NULL,[Empresa] NCHAR (20) NOT NULL,[Piso] NCHAR (6) NOT NULL ,[Ext] NCHAR (6) NOT NULL")

        Executar1(SQL.ToString)
    End Sub

    Public Sub Executar1(ByVal pSQL As String)
        Dim Comando As OleDbCommand = Ligacao.CreateCommand
        Try
            Comando.CommandText = pSQL
            Comando.CommandType = CommandType.Text
            Comando.ExecuteNonQuery()
            MessageBox.Show("Operação efetuada com sucesso!", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            If Err.Number = 5 AndAlso Err.Number = 5 Then
                MessageBox.Show(ex.Message & vbCrLf & "Matrícula já existe na base de dados ! ", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Else
                MessageBox.Show("Erro descrição : " & vbCrLf & ex.Message & vbCrLf, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End If
        End Try
    End Sub
End Class



______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.


#491417 - 22/11/2019 09:18:59

NILSONTRES
SAO PAULO
Cadast. em:Março/2012


Citação:
  Ola pessoal , tentei fazer como o colega KERPLUNK fez o exemplo e não deu certo, me perdoem a minha ignorância mas no access eu consigo fazer sem problemas mas agora via código nem sei como.

Acredito que para você falta conhecer melhor instruções SQL,
Citação:
  "CREATE TABLE bla bla bla bla bla"
.
Busque sobre isso:
http://www.criarweb.com/artigos/tipos-instrucoes-sql-componentes-sintaticos.html
https://medium.com/@dewaledevelopers/banco-de-dados-sql-comandos-b4465907dd8d



#491419 - 22/11/2019 11:19:04

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Citação:
:
Ola pessoal , tentei fazer como o colega KERPLUNK fez o exemplo e não deu certo, me perdoem a minha ignorância mas no access eu consigo fazer sem problemas mas agora via código nem sei como.

Não deu certo é muito vago. Deu alguma mensagem de erro? Se sim, qual? Mostre o código que tentou.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#491420 - 22/11/2019 12:35:51

PROGRAMADORVB6
LISBOA
Cadast. em:Janeiro/2004


 Anexos estao visíveis somente para usuários registrados

Olá obrigado desde já por me tentarem ajudar a mensagem de erro é esta e o código fiz assim.

  Imports System.Data.OleDb
Imports System.Text

Public Class Form1
    Public Ligacao As New OleDbConnection
    Public SQL As StringBuilder

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Ligacao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\Viaturas.mdb"
        SQL = New StringBuilder
        SQL.Append("CREATE TABLE Viaturas [Matriculas] NCHAR (15)  NOT NULL PRIMARYKEY, [Nome] NCHAR (25) NOT NULL,[Empresa] NCHAR (20) NOT NULL,[Piso] NCHAR (6) NOT NULL ,[Ext] NCHAR (6) NOT NULL")

        Executar1(SQL.ToString)
    End Sub

    Public Sub Executar1(ByVal pSQL As String)
        Dim Comando As OleDbCommand = Ligacao.CreateCommand
        Try
            Comando.CommandText = pSQL
            Comando.CommandType = CommandType.Text
            Comando.ExecuteNonQuery()

        Catch ex As Exception
            If Err.Number = 5 AndAlso Err.Number = 5 Then
                MessageBox.Show(ex.Message)
            Else
                MessageBox.Show("Erro descrição : " & vbCrLf & ex.Message & vbCrLf, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End If
        End Try
    End Sub

End Class


______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por PROGRAMADORVB6 em 23/11/2019 15:50:45