Jump to content

como inserir dados na base de dados?


rjsma

Recommended Posts

  • Replies 45
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

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/

Link to comment
Share on other 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.

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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.

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other 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] 
Link to comment
Share on other 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".

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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)

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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.

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other 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.

Link to comment
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
×
×
  • 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.