Har ett problem, har en databas med kolumnerna
userid, sexid
denna refererar till en annan databas med
kolumnerna sexid, sexname
som du säkert har räknat ut så är sexname = man/kvinna etc,
nu är det så att i bland så är det par som registrerat sig. Då stoppar man in två värden,
ex (1) (1) (Userid = 1 , Kön = 1)
När jag sen vill hämta denna datan så hämtar den bara datan för userid, sexid en gång, jag behöver flytta den till nästa rad i databasen.
Har en bit som säger om det är ett par eller en ensam som skall hämtas. Men som sagt var den visar data, men bara samma data en gång till...
create procedure GetSingleUser
(
@userlogin nvarchar(50)
)
AS
SELECT
[users.directory].userid,
[users.directory].userlogin,
[users.directory].password,
[users.directory].email,
[users.directory].lastlogin,
[users.directory].lastloginip,
[users.directory].datecreated,
[users.directory].blocked,
[users.directory].valid,
[users.country].countryid,
[cfg.country].countryname,
[users.area].areaid,
[cfg.area].areaname,
[users.sex].usersex,
[cfg.sex].sexname,
[users.profiles].iscuppel,
[users.profiles].txt_usrprs
FROM
[users.directory]
INNER JOIN
[users.country] ON [users.directory].userid = [users.country].userid
INNER JOIN
[cfg.country] ON [cfg.country].countryid = [users.country].countryid
INNER JOIN
[users.area] ON [users.directory].userid = [users.area].userid
INNER JOIN
[cfg.area] ON [users.area].areaid = [cfg.area].areaid
INNER JOIN
[users.sex] ON [users.directory].userid = [users.sex].userid
INNER JOIN
[cfg.sex] ON [users.sex].usersex = [cfg.sex].sexid
INNER JOIN
[users.profiles] ON [users.directory].userid = [users.profiles].userid
WHERE [users.directory].userlogin = @userlogin
GO
Här är min SP.
Alltså databasen [users.sex] innehåller raderna
sexid, userid ... sexid är ett siffra mellan 1 - 5 och userid är så klart en id från databasen [users.directory]
Databasen [cfg.sex] innehåller sexid och sexname (id och tex Man, Kvinna etc).
Vissa användare finns med två gånger i [users.sex] eftersom dom är par, där det finns två olika sex.
När jag kör min kod så får jag tillbaka två värden om det är ett par men när jag skall läsa om informationen till en label så blir det samma värde i båda. ex Man/Man ....
Det beror på att om du har någon som är med 2 gånger så får du tillbaka 2 rader som ser likadanna ut, förutom just users.sex som skiljer sig åt.
Detta är ju inget bra resultat eftersom du då måste flytta fram din reader ett steg och läsa nästa record för att få ut all information. Jag hade nog tänkt över om jag velat visa all den information, eller kanske gjort en separat fråga för att få ut users.sex.
I vilket fall som helst så flyttar du recordset ett steg genom att göra en ny dr.Read() precis innan du skall läsa ut ditt andra users.sex