MODULE , COMO EU FACO PARA INICIAR UM MODULE

USUARIO.EXCLUIDOS 23/04/2007 21:21:28
#213458
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 ?
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




MORDOR 23/04/2007 21:48:08
#213462
Resposta escolhida
Você pode inicializar o valor de uma variável na própria linha da declaração ou utilizar o construtor dele.

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.
USUARIO.EXCLUIDOS 23/04/2007 21:54:37
#213464
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 ?
WEBER 23/04/2007 22:05:39
#213466
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

MORDOR 23/04/2007 22:10:49
#213467
Declare-os no módulos como passei acima e acesse nos Forms normalmente.

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()
USUARIO.EXCLUIDOS 23/04/2007 22:12:49
#213468
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 ?
USUARIO.EXCLUIDOS 23/04/2007 22:24:12
#213473
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 MySqlDataReader

    Sub 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