MODULE , COMO EU FACO PARA INICIAR UM MODULE
como eu inicio o module primeiro ?
alguem poderia me dar uma ajuda, eu gostaria de saber como eu faço para colocar no module o codigo abaixo e em qualquer FORM fazer um Select, UPdate, Delete ou Insert sem usar novamente o codigo ?
alguem poderia me dar uma ajuda, eu gostaria de saber como eu faço para colocar no module o codigo abaixo e em qualquer FORM fazer um Select, UPdate, Delete ou Insert sem usar novamente o codigo ?
Citação:'conexao mysql
Public Class Form1
Private MySQLConn As MySql.Data.MySqlClient.MySqlConnection
Private MySQLCmd As MySql.Data.MySqlClient.MySqlCommand
Private MySQLDrr As MySql.Data.MySqlClient.MySqlDataReader
[c] Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MySQLConn = New MySql.Data.MySqlClient.MySqlConnection("Server=localhost;Database=v2interativa;Uid=root;Pwd=rafael")
MySQLConn.Open()
MySQLCmd = New MySql.Data.MySqlClient.MySqlCommand("select * from AQCAD", MySQLConn)
MySQLDrr = MySQLCmd.ExecuteReader()
If MySQLDrr.HasRows = True Then
While MySQLDrr.Read
Dim codigo As String = MySQLDrr.Item(1)
Dim ls As New ListViewItem(codigo, 0)
ls.SubItems.Add(MySQLDrr.Item(0).ToString)
ListView1.Items.Add(ls)
End While
End If
MySQLDrr.Close()
MySQLCmd.Dispose()
MySQLConn.Close()
End Sub
End Class
Você pode inicializar o valor de uma variável na própria linha da declaração ou utilizar o construtor dele.
No segundo exemplo, quando você acessar algum membro (Texto ou Texto2) do módulo pela primeira vez, o construtor será chamado. O primeiro exemplo funciona como o segundo, pois o compilador produzirá o mesmo resultado.
Module Module1
Public Texto As String = "Texto"
Public Texto2 As String = "Texto2"
End Module
Module Module1
Public Texto As String
Public Texto2 As String
Sub New()
Texto = "Texto"
Texto2 = "Texto2"
End Sub
End Module
No segundo exemplo, quando você acessar algum membro (Texto ou Texto2) do módulo pela primeira vez, o construtor será chamado. O primeiro exemplo funciona como o segundo, pois o compilador produzirá o mesmo resultado.
e com a conexao ao banco de dados, como eu faria para deixar no module para ser carregado primeiramente e depois eu chamar no formulario fazendo um Select , como eu faço ?
ué tu pode criar um sub onde tu chama a conexao exemplo
Sub Abreconexao()
'bloco de instruções para conexao
End Sub
e em qualquer form e ate mesmo outros modulos basta vc chamar a sub
Abreconexao ou se quiser Call Abreconexao
Declare-os no módulos como passei acima e acesse nos Forms normalmente.
No Form:
Imports MySql.Data.MySqlClient
Module Database
Public MySQLConn As MySqlConnection = New MySqlConnection("Server=localhost;Database=v2interativa;Uid=root;Pwd=rafael")
Public MySQLCmd As MySqlCommand = MySQLConn.CreateCommand()
Public MySQLDrr As MySqlDataReader
End Module
No Form:
MySQLConn.Open()
MySQLCmd.CommandText = ""select * from AQCAD""
MySQLDrr = MySQLCmd.ExecuteReader()
If MySQLDrr.HasRows = True Then
While MySQLDrr.Read
Dim codigo As String = MySQLDrr.Item(1)
Dim ls As New ListViewItem(codigo, 0)
ls.SubItems.Add(MySQLDrr.Item(0).ToString)
ListView1.Items.Add(ls)
End While
End If
MySQLDrr.Close()
MySQLConn.Close()
no VB eu colocava numa Sub Main() a conexao e depois eu chamava em qualquer FORMULARIO assim : Con.Execute("Select * from AQCAD");, como eu faço desse geito ? Tem como ?
Resolvido ----->
Citação:'CONEXAO NO MODULE
Imports MySql.Data.MySqlClient
Module Database
Public MySQLConn As MySqlConnection = New MySqlConnection("Server=localhost;Database=v2interativa;Uid=root;Pwd=rafael")
Public MySQLCmd As MySqlCommand = MySQLConn.CreateCommand()
Public MySQLDrr As MySqlDataReaderSub New()
MySQLConn.Open()
MySQLCmd.CommandText = "select * from AQCAD"
MySQLDrr = MySQLCmd.ExecuteReader()
End Sub
End Module
'CONEXAO NO FORMULARIo
If MySQLDrr.HasRows = True Then
While MySQLDrr.Read
Dim codigo As String = MySQLDrr.Item(1)
Dim ls As New ListViewItem(codigo, 0)
ls.SubItems.Add(MySQLDrr.Item(0).ToString)
ListView1.Items.Add(ls)
End While
End If
MySQLDrr.Close()
MySQLConn.Close()
Tópico encerrado , respostas não são mais permitidas