Avatar billede cuac Nybegynder
27. juli 2004 - 11:54 Der er 6 kommentarer og
1 løsning

Login side med test at connection string til database

Jeg skal bruge en login side hvor der laves en connection string med input fra to textbokse (txtbrugernavn.Text ,txtpassword.Text) samt databasen valgt fra en dropdownliste
<asp:DropDownList id="drpdatabasevalg" runat="server">
                <asp:ListItem>db1</asp:ListItem>
                <asp:ListItem>db2</asp:ListItem>
                <asp:ListItem>db3</asp:ListItem>
                </asp:DropDownList>


Hvis der kan laves en forbindlese skal brugeren videre dirigeres til defalt.aspx. Jeg arbejder i VB.Net

Sub LoginBtn_Click(Sender As Object, E As EventArgs)
   
        If Page.IsValid Then


            Dim strConnection as String = "user id=??;password=??;"
            strConnection += "database=dropdown;server=test1;"
             
   
            Dim myConn as New SqlConnection(strConnection)
   
                'Database forbindelse
   
   
                myConn.Open()

Then
                Server.Transfer("Default.aspx")

else
                Msg.Text = "Brugernavn eller password er ugyldigt - prøv igen!"
                  End If
   
    End Sub
Avatar billede cuac Nybegynder
27. juli 2004 - 13:00 #1
Jeg er nu kommet så langt at jeg kan åbne forbindelsen til en valgt database via input fra dropdownlisten samt via brugernavn og password, nu mangler jeg en besked på skærmen hvis der ikke kan opnås adgang om at brugeren ikke har de rette rettigheder eller at bruger eller password er forkert. Jeg vil også gerne have at  applikationen husker navnet på den valgte database, så jeg kan bruge det som input på defaultsiden. (drpdatabasevalg.SelectedItem.Value), lidt i stil med den sædvanlige login der husker brugernavn FormsAuthentication.RedirectFromLoginPage(txtbrugernavn.Text, false)


Sub LoginBtn_Click(Sender As Object, E As EventArgs)
   
        If Page.IsValid Then
           
          Dim strConnection as String = "user id= '" & txtbrugernavn.Text & "';"
            strConnection += "password= '" & txtpassword.Text & "';"
            strConnection += "database= '" & drpdatabasevalg.SelectedItem.Value & "';"
            strConnection += "server=FF07;"
           
   
   
            Dim myConn as New SqlConnection(strConnection)
   
                'Database forbindelse
   
   
                myConn.Open()
               
                Server.Transfer("Default.aspx")

               
              '  FormsAuthentication.RedirectFromLoginPage(txtbrugernavn.Text, false)
            Else
                Msg.Text = "Brugernavn eller password er ugyldigt, eller du har de krævede rettigheder - prøv igen!"
            End If
       
   
    End Sub
Avatar billede snepnet Nybegynder
27. juli 2004 - 17:18 #2
du kan lægge en
try
// forsøg at åbne database
catch
// meddel fejl til brugeren

Du har muligheden for at catche en SqlException, hvis det skulle være... Den kan give dig en SqlError.

Du kan gemme navnet på databasen i session hvis det skulle være...
Du kan bare skrive Session["DatabaseName"] = <navn>;

Hvorefter du kan hente den fra andre sider med
string name = Session["DatabaseName"].ToString();
Avatar billede cuac Nybegynder
28. juli 2004 - 09:32 #3
Hej snepnet

Ok, kan du ikke lige oprette svar med syntaks således at jeg får vist en overskrift med teksten :

Velkommen til "databasevalg" fra sessionsvariablen. Nedenstående virker fint, og ewfter hensigten. Er databse forbindelsen åben ved skift til default.aspx?


Sub LoginBtn_Click(Sender As Object, E As EventArgs)
   
        If Page.IsValid Then
           
          Dim strConnection as String = "user id= '" & txtbrugernavn.Text & "';"
            strConnection += "password= '" & txtpassword.Text & "';"
            strConnection += "database= '" & drpdatabasevalg.SelectedItem.Value & "';"
            strConnection += "server=FF07;"
           
   
   
            Dim myConn as New SqlConnection(strConnection)
           
            Session("Databasevalg")= drpdatabasevalg.SelectedItem.Value
           
            Try
                'Database forbindelse
                myConn.Open()
               
                Server.Transfer("Default.aspx")
               
             
            Catch
                Msg.Text = "Brugernavn eller password er ugyldigt, eller du har de krævede rettigheder - prøv igen!"
            End Try
        End If
   
    End Sub
Avatar billede snepnet Nybegynder
28. juli 2004 - 10:01 #4
du kan på den form der skal vise beskeden gøre det på eksempelvis denne måde :

I din aspx-kode :
<asp:Label ID="SomeLabel" Runat="server" Text="<%# SomeString %>">

Og i din code-behind :
// din label er så her :
protected Label SomeLabel;

// og du laver en property :
protected string SomeString
{
    get{return Session["Databasevalg"].ToString();}
}

// og du kan så i page_Load skrive
if(!IsPostBack)
    SomeLabel.DataBind();

Er det godt nok til at starte med ?
Avatar billede cuac Nybegynder
28. juli 2004 - 10:20 #5
Behøver jeg at arbejde med code-behind, det er jeg ikke så stiv i.
Kan du ikke lave en syntaks som på defaultsiden blot viser teksten

Velkommen til (sessionsdatabasen fra loginsiden)

<form runat="server">
        <p>
            <strong><font size="6">Velkommen til </font></strong>
        </p>
</form>
Avatar billede snepnet Nybegynder
28. juli 2004 - 10:42 #6
Du kan også skrive det hele i din aspx-fil... Ligesom med din button-handler (Sub LoginBtn_Click(Sender As Object, E As EventArgs)
Avatar billede cuac Nybegynder
28. juli 2004 - 10:58 #7
OK, tak for hjælpen

cuac
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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