Inserir dados em base de dados SQL
Abaixo descritos estão propostas de código para inserção e actualização de dados numa base de dados SQL.
Importante: Para que os tipos usados nos blocos descritos sejam reconhecidos, é necessária a seguinte linha de importação:
Imports System.Data.SqlClient
Inserir dados
' 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
Actualizar dados
' 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á actualizar os dados na tabela "MyTable" em que os campos
' "username" e "date" são passados através de parâmetros (o ID é um exemplo de um identificador único)
Dim SQL As String = "UPDATE myTable SET [username] = @username,[date] = @date WHERE [id] = @id"
' 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 actualizados
command.Parameters.Add("@username", SqlDbType.VarChar).Value = "jpaulino2"
command.Parameters.Add("@date", SqlDbType.DateTime).Value = DateTime.Now
command.Parameters.Add("@id", SqlDbType.Int).Value = 4
' Abre a ligação, executa o comando e guarda em "x" o número de registos actualizados
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