Avatar billede dm0108 Nybegynder
15. april 2004 - 14:48 Der er 6 kommentarer og
1 løsning

Mangler en sub som kan indeholde min connectionstring

Jeg har lavet et modul som indeholde følgende
Imports System
Imports System.Data
Imports System.Data.OleDb






Module Module1
    Public main As New frmmain
    Public emner As New frmOpretEmner
    Public OpretEmne As New frmOpretEmne
    Public Kommentarer As New frmKommentarer
    Public OpretKomtar As New frmOpretKomtar
    Public komtiletemne As New frmkomtiletemne
    Public kommentar As New frmkommentar
    Public Redigerkommentar As New frmredigerkommentar
    Public Komkom As New frmkomkom
    Public Login As New frmLogin


    Dim consql As String = "Provider=SQLOLEDB.1;Password=XXXXXX;Persist Security Info=True;User ID=YYYYYYY;Initial Catalog=forum;Data Source=ZZZZZZZZZZ    Dim forbindelse As New OleDbConnection(consql)

    Public Sub SQLinsert(ByVal Data As String)
        Dim kommando As New OleDbCommand(Data, forbindelse)
        forbindelse.Open()
        kommando.ExecuteNonQuery()
        forbindelse.Close()
    End Sub

    Public Sub SQLdelete(ByVal Data As String)
        Dim kommando As New OleDbCommand(Data, forbindelse)
        forbindelse.Open()
        kommando.ExecuteNonQuery()
        forbindelse.Close()
    End Sub

    Public Sub SQLupdate(ByVal Data As String)
        Dim kommando As New OleDbCommand(Data, forbindelse)
        forbindelse.Open()
        kommando.ExecuteNonQuery()
        forbindelse.Close()
    End Sub

    Public Function SQLselect(ByVal Data As String) As DataSet
        Dim tempset As New DataSet
        Dim Adapter As New OleDbDataAdapter(Data, forbindelse)
        tempset.Reset()
        Adapter.Fill(tempset)
        SQLselect = tempset
    End Function


End Module

samtidigt har jeg lavet en form som indeholder følgende:

    Public Sub godkend()
        Dim kodeord As String
        Dim Brugernavn As String

        Brugernavn = TextBox1.Text
        kodeord = TextBox2.Text

        If Brugernavn = "Forumbruger" And kodeord = "forumkode" Then
            Me.Hide()
           
        Else
            MsgBox("du har ikke indtaste brugernavn eller adganskode korrekt", MsgBoxStyle.Critical, "Fejl")
            Login.Refresh()
            TextBox1.Text = ""
            TextBox2.Text = ""
        End If
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        godkend()
    End Sub
End Class

hvordan får jeg opbygget en sub som kan modtage username og password fra login formen, men som samtidigt kan skabe forbindelsen til den SQL subs som jeg har lavet.
ALle Sql forespørgsler i programmet bruger dem.
Hvordan bygger jeg en ordentlig login form som kan låse MDI parent formen og sende de 2 parametre til connectionformen.
Avatar billede arne_v Ekspert
15. april 2004 - 20:38 #1
Jeg er ikke sikker på at jeg har gennemskuet problem stillingen helt.

Men mit bud vil være at erstatte:

Dim consql As String = "Provider=SQLOLEDB.1;Password=XXXXXX;Persist Security Info=True;User ID=YYYYYYY;Initial Catalog=forum;Data Source=ZZZZZZZZZZ
Dim forbindelse As OleDbConnection = New OleDbConnection(consql)

med:

Dim forbindelse As OleDbConnection

Public Sub connect(Usr As String, Pwd As String)
  Dim consql As String = "Provider=SQLOLEDB.1;Password=" & Pwd & ";Persist Security Info=True;User ID=" & Usr & ";Initial Catalog=forum;Data Source=ZZZZZZZZZZ
  forbindelse = New OleDbConnection(consql)
End Sub

Og så lade din login form kalde connect metoden på DB objektet.
Avatar billede dm0108 Nybegynder
15. april 2004 - 21:59 #2
hvordan får jeg så min SQL subs til at virke når min forbindelse ligger inde i en sub.
Er det nok den er public?

Vil denne metode give brugerne ret til at åben og lukke connetionen når først de er logget in?

Kan jeg fra knappen kalde min sub godkend uden at bruge værdi overførsler i kaldet??

mange spørgsmål?
Avatar billede arne_v Ekspert
15. april 2004 - 22:05 #3
Forbindelsen behøver ikke engang være public den bruges jo kun af
kode i samme klasse/modul. Hvis det er en flertrådet app skal
du iøvrigt skifte fra modul til klasse.

Ja.

Ikke forstået.
Avatar billede dm0108 Nybegynder
15. april 2004 - 22:35 #4
Sådan vil min login form blive så blive kodet.
der skal naturligvis sættet en catch ex as exception ind hvis brugeren skriver forkert

Public Sub godkend(Usr as string, Pwd as string)
     
        Usr = TextBox1.Text
      Pwd = TextBox2.Text

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        godkend()
    End Sub
End Class

kan jeg kalde sub godkend vedhjælp af ovenstående kommando godkend()?
Avatar billede arne_v Ekspert
15. april 2004 - 22:40 #5
Nej.

Det må da være:

  Public Sub godkend()
      Dim Usr As String = TextBox1.Text
      Dim Pwd As String = TextBox2.Text
      connect(Usr, Pwd)
  End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        godkend()
    End Sub
Avatar billede dm0108 Nybegynder
15. april 2004 - 22:43 #6
selvfølgelig jeg prøver det i morgen, kan du ikke lige giver mig et svar så jeg kan belønne dig hvis det virker.
Avatar billede arne_v Ekspert
15. april 2004 - 22:44 #7
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester