• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rjsma

como inserir dados na base de dados?

46 mensagens neste tópico

boas

tou a fazer um programa de gestao e numa parte desse programa tenho o registo de clientes

e agora cheguei a uma parte e fiquei a nora

ja tenho a base de dados sql construida e a form com os campos de inscricao e agora nao sei e enviar as informacoes introduzidas na inscricao para a bd

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para fazer o insert so tenho de acrescentar este codigo a form?

INSERT INTO table_name

VALUES (value1, value2, value3,...)

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se fizeste pelas tais "binds" que o Ribeiro se referiu podes utilizar o seguinte código:

Me.TabelaBindingSource.AddNew

Caso programes o código unha a unha, então utilizas:

--------------------------------------------------------//------------------------------------------------------

Imports System.Data.SqlClient
' Texto de ligação à base de dados 
Dim myConnectionString As String = _  
  "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\myDatabase.mdf';" & _  
  ";Integrated Security=True;User Instance=True"
' Comando que irá inserir dados na tabela "MyTable" em que os campos 
' "username" e "date" são passados através de parâmetros 
Dim SQL As String = "INSERT INTO myTable([username], [date]) VALUES (@username, @date);"
' Cria uma nova ligação à base de dados 
Dim connection As New SqlConnection(myConnectionString)
' Criação do comando indicando a instrução e a ligação 
Dim command As New SqlCommand(SQL, connection)
' Indicação dos parâmetros que serão inseridos 
command.Parameters.Add("@username", SqlDbType.VarChar).Value = "jpaulino" 
command.Parameters.Add("@date", SqlDbType.DateTime).Value = DateTime.Now
' Abre a ligação, executa o comando e guarda em "x" o número de registos inseridos 
connection.Open()
Dim x As Integer = command.ExecuteNonQuery() 
If x < 1 Then 
      MessageBox.Show("A operação efectuada não retomou qualquer resultado.") 
End If
' Fecha a ligação e limpa as variáveis 
connection.Close() 
connection = Nothing 
command = Nothing

 

--------------------------------------------------------//------------------------------------------------------

Retirado do Blog

http://vbtuga.blogspot.com/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Os objectos que tens na paleta do visual studio....

Basicamente se crias-te a form colocas-te as caixas de texto, labels, combos etc.... tens que ir por inserts, se pegas-te na tabela e crias-te um binding data source, tens a vida facilitada e podes utilizar o codigo que te foi apresentado acima.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu criei a form com caixas labels,etc, por isso tenho de ir por inserts

ajudava me muito se alguem conseguisse arranjar um exemplo

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu criei a form com caixas labels,etc, por isso tenho de ir por inserts

Não quer dizer que tenhas que ir por inserts, é facil se no lado direito do ecrã e tiveres lá a tua datasource e respectivas tabelas, podes simplesmente puxar a tabela para ele te criar um table adapter.

Se não tens experiencia com inserts acredita que o binding é a forma mais simples.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tens o datasource na paleta??

Se puderes coloca o codigo que tens na form aqui para ser mais facil perceber o que tens feito e a melhor forma de te ajudar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Se não tens experiencia com inserts acredita que o binding é a forma mais simples.

Eu cá acho que é uma péssima prática, e acaba por tornar as coisas muito mais complicadas a seu tempo.

Resulta em programadores com aplicações que mexem dados de um lado para o outro mas franzem o sobrolho e encolhem os ombros quando alguém lhes fala de queries.

Faz me lembrar um pouco o pessoal que desenvolve jogos com gamemakers drag and drop.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

este e o codigo da conexao a bd

Imports MySql.Data.MySqlClient
Public Class Login
    Dim conn As New MySqlConnection
    Dim myCommand As New MySqlCommand

    'Move a form
    Dim applocation, curlocation As New Point(0, 0)
    Private Sub sync()
        applocation = Me.Location
        curlocation = Cursor.Position
    End Sub
    Private Sub janelalogin_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles janelalogin.MouseDown
        Timer1.Enabled = True
        Timer1.Start()
        sync()
    End Sub

    Private Sub janelalogin_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles janelalogin.MouseUp
        Timer1.Stop()
        sync()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Me.Location = applocation - curlocation + Cursor.Position
        sync()
    End Sub
    'Sai do Programa
    Private Sub KryptonButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KryptonButton3.Click
        End
    End Sub
    Private Sub KryptonButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KryptonButton1.Click
        Dim conn As New MySqlConnection
        conn.ConnectionString = "server=127.0.0.1;user id=administrador;password=software2010;database=software"
        conn.Open()
        myCommand.Connection = conn
        myCommand.CommandText = "SELECT count(* ) N FROM `software`.`login` where utilizador = '" + UsernameTextBox.Text + "'" + " and senha = '" + PasswordTextBox.Text + "'"
        If (Convert.ToInt32(myCommand.ExecuteScalar()) = 1) Then
            Principal.Show()
            Me.Hide()
        Else
            MessageBox.Show("Nome de Utilizador ou senha incorrecta")
            Me.Close()
        End If
    End Sub
End Class [ /code] 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Resulta quando se tem pouca pratica e se precisa de desenvovler rapido.

Eu pessoalmente uso querys na maioria das aplicações, mas está visto que a médio e longo prazo as ferramentas microsoft vão estar cada vez com mais "ferramentas graficas" para se trabalhar com bd's. Como sou do tempo em que não havia nada disso, conheço ambas as formas, pois mantenho uma "mente aberta". Fui ensinado a não me limitar ao que já sei, ao que conheço mas sim a "utilizar qualquer tecnica que funcione, e manter uma mente aberta". Não critico nem apoio nenhuma das formas de fazer as coisas! Eu faço da minha, cada um faz da que melhor lhe convem, usa a tecnica que melhor se lhe aplicar, logo que funcione, o resto é "semantica".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois com o codigo que tenho so da para ir buscar informacao a bd e tambem nao consigo fazer uma query porque nao consigo aceder ao data source

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Azevedo, continuas a poder usar as duas form's. No teu codigo tens apenas a connection string, o que te deixa margem para puderes utilizar data tables e binding data source.

Assim crias um Table Adapter e podes usar o "bindings"

                myAdapter.SelectCommand = myCommand
                myAdapter.Fill(myData)

                DataGrid1.DataSource = myData

Outra forma é mesmo perderes uns minutos e adicionares uma datasource no wizard de bd na paleta do lado direito, em principio o VB vai reconhecer a connectionstring que tens e podes fazer o binding por aí.

Se preferires ir por insert's tens que escrever a query inteira, tipo

INSERT INTO table_name
VALUES (valor1, valor2, valor3,valor4)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao consigo usar o data source, eu abro e ele nao reconhece nenhuma connection

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes criar uma nova apartir do interface grafico, ou simplesmente ir por inserts.

Agora a decisão é apenas tua.

A criação da datasource no interface grafico é facilima.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois eu vou ao data source,escolho database e  new connection e depois a janela da data source fecha

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu cá acho que é uma péssima prática, e acaba por tornar as coisas muito mais complicadas a seu tempo.

Resulta em programadores com aplicações que mexem dados de um lado para o outro mas franzem o sobrolho e encolhem os ombros quando alguém lhes fala de queries.

Faz me lembrar um pouco o pessoal que desenvolve jogos com gamemakers drag and drop.

Discordo. Eu sou apologista tanto dos "Bindings" como da programação "unha a unha".

E podes facilmente conciliar as duas coisas, poupando bastante tempo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois eu vou ao data source,escolho database e  new connection e depois a janela da data source fecha

Que versão do VB estás a usar??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

2008 express ou 2008 ..... uma das outras???? existem pelo menos 3 dentro da 2008.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tenho a certeza se na express tens as ferramentas de bd, mas penso que sim. Tenta fazer um projecto apenas com uma form, e liga-lo à bd, a ver se ele não crasha, se crashar já tenho uma ideia e qual o problema e nessa altura deixo aqui a solução.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se eu criar um novo projecto consigo trabalhar com o data source

com o projecto que tou a fazer e que nao consigo

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora