2017-01-13 1 views
0

Ich habe eine gespeicherte Prozedur in SQL, wenn ich diese gespeicherte Prozedur ausführen, bekomme ich die Nummer 38, aber wenn ich versuche, es in C# auszuführen, bekomme ich die Nummer 0x00000026 .Wie kann ich Nummer wie 0x00000026 in Nummer wie 38 konvertieren

Wie kann ich es in eine "normale" Zahl umwandeln?

Die gespeicherte Prozedur:

ALTER PROCEDURE Registration 
    (@UserName nvarchar(50), 
    @Password nvarchar(9), 
    @FirstName nvarchar(50), 
    @LastName nvarchar(50), 
    @EmailAddress nvarchar(50), 
    @BDate date, 
    @IdentityNumber nvarchar(50), 
    @RoleID int) 
AS 
    IF (SELECT COUNT(1) FROM Users WHERE UserName [email protected]) = 1 
    BEGIN 
     RETURN -1 
    END ELSE 
    BEGIN 
     INSERT INTO Users(UserName, Password, FirstName, LastName, Email, IdentityNumber, BirthDate, RoleID) 
     VALUES(@UserName, @Password, @FirstName, @LastName, @EmailAddress, @IdentityNumber, @BDate, @RoleID) 

     RETURN Cast(@@IDENTITY as INT) 
    END 

und die Datenzugriffsschicht Code:

User test1 = DB.Users.Where(u => u.UserName == "223321").ToList(); 

var test2 = from users in DB.Users 
      where users.UserName == "223321" 
      select new 
        { 
         users.UserName, 
         users.UserID 
        }; 
+0

was ist die Art des Objekts 'UserID'? –

+0

können Sie Beispieldaten für IdentityNumber hinzufügen? –

+2

Klicken Sie mit der rechten Maustaste in das Fenster Lokal und vergewissern Sie sich, dass die Option "Hexadezimale Anzeige" deaktiviert ist. –

Antwort

1

Watch-Fenster können Sie die Variablen-Werte in Hex-Modus anzuzeigen. Dies ist sehr einfach Funktionen, Just Right Klicken Sie auf Watch-Fenster und deaktivieren Sie Hexadezimal-Display.

enter image description here

So Klicken Sie für die Ausgabe Hexadezimal Anzeigeoption abzuwählen -'38'