Laden...

Session ID über eine Tabelle abfragen

Erstellt von reiter08 vor 10 Jahren Letzter Beitrag vor 10 Jahren 789 Views
R
reiter08 Themenstarter:in
8 Beiträge seit 2013
vor 10 Jahren
Session ID über eine Tabelle abfragen

Hi, ich habe folgendes Problem:
Ich habe eine Tabeele, die Daten von einer Access Datei bezieht. In meiner Login.aspx hab ich eine Session variable hinzugefügt:

String number = grdUsers.SelectedRow.Cells[0].Text;
Session["ID"] = number;

Es war bereits eine Methode implementiert, die "getOrderbyID" heißt, die ist auch richtig, da sie vom Professor angegeben wurde.

Nun möchte ich, dass die Tabelle sich nur auf die ID, die am anfang angegen wurde bezieht.
Ich bin wiefolgt rangegangen:

  1. Datenquelle konfigurieren
    2.Die Klasse ausgewählt, in der die Methode ist.
  2. die Methode getOrderbyID ausgewählt
    4.Parameterquelle als Session angegeben.
    5.In das Sessionfeld ID eingetragen.
    Nun stand im Fenster links:
    Name Parameter
    _id Session("ID)

Als Fehler wurde mir angezeigt:
Spalte 'UID' gehört nicht zu Tabelle Table.

Ich kopier euch noch kurz die Methode:

public clsOrder GetOrderById(int _id)
        {

            //Hier wird ein DB-Provider instanziiert und eine Verbindung zur access-Datenbank aufgebaut
            DAL.DALObjects.dDataProvider _myProvider = DAL.DataFactory.GetAccessDBProvider(_databaseFile);

            //Jetzt müssen wir erstmal den Übergabeparameter hinzufügen
            _myProvider.AddParam("ID", _id, DAL.DataDefinition.enumerators.SQLDataType.INT);

            //Hier wird unser Dataset initialisiert
            DataSet _myDataSet = _myProvider.GetStoredProcedureDSResult("QUGetOrderById");

            //füllen wir eine DataTable mit dem DataSet
            DataRow _dr = _myDataSet.Tables[0].Rows[0];
           
            clsUser _myUser = new clsUser();
            _myUser.ID = (int)_dr["UID"];
            _myUser.Name = (String)_dr["UName"];
            _myUser.Address = (String)_dr["UAddress"];
            _myUser.Distance = Convert.ToInt32(_dr["UDistance"]);
            _myUser.IsAdmin = (Boolean)_dr["UIsAdmin"];
            _myUser.Password = (String)_dr["UPassword"];

            return DatarowToclsOrder(_dr);
            
          
        }
 

Vielen Dank schonmal!

(Ich will im Grunde, dass in der Tabelle, wenn sich der User mit der ID "1" einloggt, dass dann bei der Bestellhistorie nur der Kunde angezeigt wird, der eingeloggt ist, in dem Fall der mit der ID "1")

T
708 Beiträge seit 2008
vor 10 Jahren

Hallo reiter08,

wenn ich das auf den ersten Blick richtig sehen, hat Dein Professor im Storedprocedure eine Spalte in der Tabelle angelegt die "UID" heißt. Du hast aber eine Spalte angelegt, die "ID" heißt.

Gruß,
trib

R
reiter08 Themenstarter:in
8 Beiträge seit 2013
vor 10 Jahren

Ok, hab die Anfrage geändert, sieht jetzt so aus:
SELECT TOrder.*, TUser.UName, TProduct.PName
FROM TProduct INNER JOIN (TUser INNER JOIN TOrder ON TUser.UID = TOrder.OFKUserId) ON TProduct.PID = TOrder.OFKProduktId
WHERE TOrder.[OFKUserId]=[@ID];

Aber habe immernoch denselben Fehler.

R
reiter08 Themenstarter:in
8 Beiträge seit 2013
vor 10 Jahren

habs leider immernochnet hinbekommen -.^