Avatar billede tanzaweb Nybegynder
09. december 2004 - 12:19 Der er 7 kommentarer og
1 løsning

No overload for method 'sphLogin' takes '2' arguments

Hej
Jeg får følgende fejl når jeg køre mit login script.
Har fået det før og fik det løst.
Men nu siger den det igen, jeg har prøvet at være inde at rette det men det virker ikke. nogen forslag.

Server Error in '/' Application.
--------------------------------------------------------------------------------

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1501: No overload for method 'sphLogin' takes '2' arguments

Source Error:



Line 7:         
Line 8:                  System.Data.DataSet userDS = new System.Data.DataSet();
Line 9:                  userDS = sphLogin(UserName.Text, UserPass.Text);
Line 10:       
Line 11: 

Her er koden:

<%@ Page Language="C#" %>
<script runat="server">

    void LoginBtn_Click(Object sender, EventArgs e) {
       
            if (Page.IsValid) {
       
                System.Data.DataSet userDS = new System.Data.DataSet();
                userDS = sphLogin(UserName.Text, UserPass.Text);
       
                if (userDS.Tables[0].Rows.Count == 1) {
                    Session["userid"] = userDS.Tables[0].Rows
                [0].ItemArray[0];
                    FormsAuthentication.RedirectFromLoginPage
                (UserName.Text, false);
                }
            else {
                Msg.Text = "Invalid Credentials: Please try again";
            }
        }
    }
        System.Data.DataSet sphLogin(string username, string password, int memberShipClass) {
            string connectionString = "server=\'sql.xxxxx.dk\'; user id=\'xxxxxx\'; password=\'xxxxxxx\'; database=\'" +
                "xxxxxx\'";
            System.Data.IDbConnection dbConnection = new System.Data.SqlClient.SqlConnection(connectionString);
   
            string queryString = "SELECT [ssForhandler].* FROM [ssForhandler] WHERE (([ssForhandler].[KundeNr] = @username)" +
                " AND ([ssForhandler].[KodeOrd] = @password)))";
            System.Data.IDbCommand dbCommand = new System.Data.SqlClient.SqlCommand();
            dbCommand.CommandText = queryString;
            dbCommand.Connection = dbConnection;
   
            System.Data.IDataParameter dbParam_username = new System.Data.SqlClient.SqlParameter();
            dbParam_username.ParameterName = "@username";
            dbParam_username.Value = username;
            dbParam_username.DbType = System.Data.DbType.StringFixedLength;
            dbCommand.Parameters.Add(dbParam_username);
            System.Data.IDataParameter dbParam_password = new System.Data.SqlClient.SqlParameter();
            dbParam_password.ParameterName = "@password";
            dbParam_password.Value = password;
            dbParam_password.DbType = System.Data.DbType.StringFixedLength;
            dbCommand.Parameters.Add(dbParam_password);
   
            System.Data.IDbDataAdapter dataAdapter = new System.Data.SqlClient.SqlDataAdapter();
            dataAdapter.SelectCommand = dbCommand;
            System.Data.DataSet dataSet = new System.Data.DataSet();
            dataAdapter.Fill(dataSet);
   
            return dataSet;
        }

</script>
<html>

        <form runat="server">
            <h1>Forhandler login</h1>
            <table>
                  <tr>
                    <td width="30">&nbsp;</td>
                      <td><p>KundeNummer:</p></td>
                      <td><asp:TextBox id="UserName" runat="server" Width="100"></asp:TextBox></td>
                      <td><asp:RequiredFieldValidator ControlToValidate="UserName" Display="Static" ErrorMessage="*" runat="server" ID="Requiredfieldvalidator1" ForeColor="#000000"></asp:RequiredFieldValidator></td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                      <td><p>Kodeord:</p></td>
                      <td><asp:TextBox id="UserPass" TextMode="Password" runat="server" Width="100" Columns="2"></asp:TextBox></td>
                      <td><asp:RequiredFieldValidator ControlToValidate="UserPass" Display="Static" ErrorMessage="*" runat="server" ID="Requiredfieldvalidator2" ForeColor="#000000"></asp:RequiredFieldValidator></td>
                  </tr>
                  <tr>
                      <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td><div align="center"><asp:button id="LoginBtn" text="Login" OnClick="LoginBtn_Click" runat="server"></asp:button></div></td>
                    <td>&nbsp;</td>
                  </tr>
              </table>
                <p><asp:Label id="Msg" ForeColor="blue" runat="server"></asp:Label></p>
        </form>
    </body>
</html>
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:22 #1
Din metode modtager 3 parametre:
sphLogin(string username, string password, int memberShipClass)

Men du sender kun 2 til den:
sphLogin(UserName.Text, UserPass.Text);
Avatar billede tanzaweb Nybegynder
09. december 2004 - 12:31 #2
ja, undskyld men det har jeg fjernet så der kun står
sphLogin(UserName.Text, UserPass.Text);

Den del ser således ud nu:

if (Page.IsValid) {
       
                System.Data.DataSet userDS = new System.Data.DataSet();
                userDS = sphLogin(UserName.Text, UserPass.Text);
       
                if (userDS.Tables[0].Rows.Count == 1) {
                    Session["userid"] = userDS.Tables[0].Rows
                [0].ItemArray[0];
                    FormsAuthentication.RedirectFromLoginPage
                (UserName.Text, false);
                }
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:33 #3
Det er det samme som før. Du sender stadig kun 2 parametre til sphLogin, som forventer 3 parametre.
Avatar billede tanzaweb Nybegynder
09. december 2004 - 12:39 #4
Tak mand jeg må ved at være blind send svar og de er dine
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:40 #5
svar
Avatar billede tanzaweb Nybegynder
09. december 2004 - 12:41 #6
Hvad nu hvis jeg er gået direkte ind på Login siden uden at have søgt en anden side er der så noget man kan sætte i web.config så man kan gå direkte til en anden side efter login.
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:42 #7
Det ved jeg desværre ikke. Jeg kender ikke til .NET's indbyggede login-system.
Avatar billede tanzaweb Nybegynder
09. december 2004 - 14:08 #8
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
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