2016-04-23 10 views
-2

Ich habe eine Methodeeinen Standardwert einer Variablen zuweisen und in die Datenbank ändern

getlisting(string url,int ID) 

ich diesen Parameter-ID in einer anderen Klasse an eine andere Funktion am Übergang

Controller __cc = new Controller(); 
       int Status = 1; 
       __cc.UpdatePaging(ID, Status); 

ich dies vorbei zu aktualisieren Funktion und möchten einen Standardwert von 0 zu ID und 1 zu Status zuweisen und dann zurückgeben und Änderungen in der Datenbank vornehmen,

aber ich kann es nicht tun. Stimmt etwas mit meinem Code nicht? oder erzähle mir, wie man int einen 0-Wert zuweist und ihn in der Datenbank aktualisiert, wann immer ich einen Wert von getlisting bekomme, sollte ihm eine Null zugewiesen und in DB aktualisiert werden.

+0

Nun, um ein _int_ zu starten, ist nie null. Wenn Sie einen [nullbaren int] haben möchten (https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx), dann sollten Sie den _int? _ Verwenden. Es ist jedoch nicht klar, was Ihre Absichten sind Möchten Sie einen Datensatz mit ID = 0 aktualisieren? Es scheint, dass egal welchen Wert für ID übergeben wird, die Sie auf Null setzen möchten – Steve

+0

Int ist standardmäßig 0, wenn kein Wert zugewiesen –

+0

@EhsanSajjad - Ihr Kommentar macht keinen Sinn ID wird an die Funktion übergeben und die Funktion deklariert keinen Standard. – Hogan

Antwort

0

basierend auf Chat wollen Sie dies:

public void UpdatePaging(int ID,int Status) 
    { 

     SqlCommand cmd = new SqlCommand("UPDATE Paging SET Status='1' WHERE ID = @ID", obj.openConnection()); 
     cmd.CommandType = System.Data.CommandType.Text; 
     cmd.Parameters.AddWithValue("@ID", SqlDbType.Int).Value = ID; 
     cmd.ExecuteNonQuery(); 

    } 

diese den Status auf 1 basierend auf der ID eingestellt werden, die an die Funktion gesendet wird

Code Hinweis sagt SET Status='1' Sie bedeuten könnte SET Status=1

Sie könnten Ihren Code auch allgemeiner wie folgt machen:

public void UpdatePaging(int ID,int Status=1) 
{ 
    SqlCommand cmd = new SqlCommand("UPDATE Paging SET [email protected] WHERE ID = @ID", obj.openConnection()); 
    cmd.CommandType = System.Data.CommandType.Text; 
    cmd.Parameters.AddWithValue("@ID", SqlDbType.Int).Value = ID; 
    cmd.Parameters.AddWithValue("@Status", SqlDbType.Int).Value = Status; 
    cmd.ExecuteNonQuery(); 
} 
+0

Status funktioniert gut ich bekomme es jetzt 1, und was ich sollte ich mit ID machen? –

+1

Nimm es zum Mittagessen – Hogan

Verwandte Themen