Oprette og teste på en bruger med access
Jeg er igang med, at lave noget login, hvor brugeren skriver sit brugernavn og password, hvorefter det bliver testet om det er rigtigt i databasen. Hvis brugeren ikke har et brugernavn og et password skal vedkommende kunne oprette sig i databasen. Problemet er, at jeg ikke kan få noget af det til at virke, og jeg har søgt det meste af nettet igennem, men har ikke rigtigt fundet noget. Jeg har vedlagt min aspx fil og min class fil.Dette er min .aspx fil, som kører metoderne fra min class fil:
<%@ Page Language="C#" Inherits="Facade" Src="DBFacade.cs" %>
<script runat="server">
void LoginBtn_Click(Object sender, EventArgs e)
{
string brugernavn;
string password;
Facade fc = new Facade();
if (Page.IsValid)
{
if ((TextBox1.Text == "brugernavn") && (TextBox3.Text == "password"))
{
fc.testbruger(brugernavn, password);
}
else
{
Msg.Text = "Forkert brugernavn eller password";
}
}
}
void OpretBtn_Click(Object sender, EventArgs e)
{
if(Page.IsValid)
{
if ((TextBox2.Text == "brugernavn") && (TextBox4.Text == "password"))
{
fc.tilfoejBruger(brugernavn, password);
}
else
{
Msg.Text = "Invalid Credentials: Please try again";
}
}
}
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
</p>
<p align="center">
Login
</p>
<p align="center">
<asp:Label id="Label1" runat="server">Brugernavn:</asp:Label>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
</p>
<p align="center">
<asp:Label id="Label2" runat="server">Password:</asp:Label>
<asp:TextBox id="TextBox3" runat="server"></asp:TextBox>
</p>
<p align="center">
<asp:button id="LoginBtn" onclick="LoginBtn_Click" runat="server" text="Login"></asp:button>
</p>
<p align="center">
</p>
<p align="center">
Hvis du ikke er oprettet som bruger, så skriv et brugernavn og password og tryk på
opret.
</p>
<p align="center">
<asp:Label id="Label3" runat="server">Brugernavn:</asp:Label>
<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
</p>
<p align="center">
<asp:Label id="Label4" runat="server">Password:</asp:Label>
<asp:TextBox id="TextBox4" runat="server"></asp:TextBox>
</p>
<p align="center">
<asp:button id="OpretBtn" onclick="OpretBtn_Click" runat="server" text="Opret"></asp:button>
</p>
<!-- Insert content here -->
</form>
</body>
</html>
Dette er min class fil, som har forbindelse til databasen og hvor alle metode kaldene til databasen er.
using System;
using System.Text;
using System.Collections;
using System.Data;
using System.Data.OleDb;
using System.Web.UI;
public class Facade : Page
{
private System.Data.OleDb.OleDbDataReader myReader;
private System.Data.OleDb.OleDbCommand myCommand;
private System.Data.OleDb.OleDbConnection con;
//private System.Data.OleDb.OleDbDataAdapter oleDbDataAdapter1;
private string forbindelse;
private string sql;
public Facade()
{
forbindelse = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\db1.mdb";
con = new OleDbConnection(forbindelse);
}
public void aabnSession()
{
try
{
con.Open();
}
catch (Exception ex)
{
Console.WriteLine("Connection mislykkedes" + ex.StackTrace + ex.ToString());
}
}
public void lukSession()
{
try
{
con.Close();
}
catch (Exception ex)
{
Console.WriteLine("Fejl i lukSession" + ex.StackTrace + ex.ToString());
}
}
public void testBruger(string brugernavn, string password)
{
try
{
aabnSession();
sql = "SELECT * From Brugere WHERE brugernavn = bruger and password = password";
myCommand = new OleDbCommand(sql,con);
}
catch(System.Data.OleDb.OleDbException ex)
{
Console.WriteLine("testBruger mislykkedes");
Console.WriteLine("Fejl befinder sig : " + ex.StackTrace + ex.ToString());
}
finally
{
lukSession();
}
}
public void tilfoejBruger(string brugernavn, string password)
{
try
{
aabnSession();
sql = "INSERT INTO Brugere (brugernavn, password) VALUES ('"+brugernavn+"', '"+password+"')";
myCommand = new OleDbCommand(sql,con);
}
catch(System.Data.OleDb.OleDbException ex)
{
Console.WriteLine("tilfoejBruger mislykkedes");
Console.WriteLine("Fejl befinder sig : " + ex.StackTrace + ex.ToString());
}
finally
{
lukSession();
}
}
}
