C# 为变量指定默认值并将其更改为数据库

C# 为变量指定默认值并将其更改为数据库,c#,sql,oop,C#,Sql,Oop,我有办法 getlisting(string url,int ID) 我正在将此参数ID传递给另一个类中的另一个函数 Controller __cc = new Controller(); int Status = 1; __cc.UpdatePaging(ID, Status); 我正在将其传递给update函数,并希望将默认值0分配给ID,将默认值1分配给status,然后返回它并在数据库中进行更改 public voi

我有办法

getlisting(string url,int ID)
我正在将此参数ID传递给另一个类中的另一个函数

 Controller __cc = new Controller();
                int Status = 1;
                __cc.UpdatePaging(ID, Status);
我正在将其传递给update函数,并希望将默认值0分配给ID,将默认值1分配给status,然后返回它并在数据库中进行更改

 public void UpdatePaging(int ID,int Status)
        {

               if (ID != null)
               {
                    ID = 0;
               }
               else 
               {
                    ID = 0;
               }

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


        }

但我做不到。我的代码有问题吗?或者告诉我如何将0值分配给int并在数据库中更新它,每当我从getlisting方法中获得任何值时,都应该将其分配为0并在DB中更新。

基于聊天,您希望这样:

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();

    }
这将根据发送到函数的id将状态设置为1

请注意,您的代码表示SET Status='1',您的意思可能是SET Status=1

您还可以使代码更通用,如下所示:

public void UpdatePaging(int ID,int Status=1)
{
  SqlCommand cmd = new SqlCommand("UPDATE Paging SET Status=@Status 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();
}

好吧,开始一个int永远不是null。如果你想要一个整数,那么你应该使用int?但是,不清楚您的意图是什么,是否要更新ID为0的记录?看起来,无论传递给ID的值是什么,您都希望将其设置为zeroint,如果没有值,则默认值为0assigned@EhsanSajjad-您的注释没有意义ID被传递给函数,并且函数未声明默认值。的重复项。请不要重新发布您的问题。几个小时前你也问过同样的问题。我说int的默认值是0,如果@HoganStatus没有赋值,那么它工作正常。我现在得到了1,我应该用ID做什么?带它出去吃午饭