C# 为方法中每个即将出现的int指定一个默认值

C# 为方法中每个即将出现的int指定一个默认值,c#,sql,oop,C#,Sql,Oop,我有两种方法 getlisting(string url,int ID) 我想把这个ID传递给另一个类中的另一个方法 class cc=new class(); cc.updatevalue(ID); 现在我想把这个int值传递给updatevalue方法,并给它赋值0。每次getlisting都有不同的ID并将其传递给update方法。我也试过了。所以我的问题是,有人能帮我把默认的0值分配给每个即将到来的int值吗。 分配后,我想在我的数据表中更新它 SqlCommand cmd =

我有两种方法

 getlisting(string url,int ID)
我想把这个ID传递给另一个类中的另一个方法

class cc=new class();
cc.updatevalue(ID);
现在我想把这个int值传递给updatevalue方法,并给它赋值0。每次getlisting都有不同的ID并将其传递给update方法。我也试过了。所以我的问题是,有人能帮我把默认的0值分配给每个即将到来的int值吗。 分配后,我想在我的数据表中更新它

 SqlCommand cmd = new SqlCommand("UPDATE Paging SET Status='1' WHERE ID ='ID'", obj.openConnection());
ID抛出了一个错误,无法将varchar转换为数据类型,请告诉我可以为每个int指定默认值并使其等于ID的条件。谢谢

SqlCommand cmd = new SqlCommand("UPDATE Paging SET Status='1' WHERE ID ='" . ID . "'", obj.openConnection());

您将ID作为字符串“ID”而不是变量进行传递。

我怀疑问题出在您的
SQL
上,我还建议使用参数化查询,因此您的代码应该

SqlCommand cmd = new SqlCommand("UPDATE Paging SET Status=@status WHERE ID =@id", obj.openConnection());

cmd.Parameters.Add("@status", SqlDbType.Int).Value = 1; // modify this to varchar if status is string
cmd.Parameters.Add("@id", SqlDbType.Int).Value = ID;

另一方面,我们可以为参数指定默认值。请看。

您的问题不是很清楚,但如果您想为每个新记录指定一个新的唯一值,您可能需要查看SQL Server表列的标识功能。它不是SQL之类的,我在问我应该应用哪个条件,这样我就可以自己给从另一个方法接收到的每个动态/不同的int指定默认值,然后将其传递给表,问题在于您的
SQL
查询,您需要传递有效的
ID
值,而不是
ID
字符串。好的,谢谢,亲爱的,但我之前尝试过这个方法,我认为问题在于我的赋值问题我是通过if-else条件赋值的,每次从getlisting方法您的代码工作时,我都有一个不同的ID值,但是我需要知道它如何处理每一个不同的值,ok waitpublic void UpdatePaging(int ID,int Status){if(ID!=null){//assign zero}else if(ID>0){//assign zero}else{//assign required value}cmd=new SqlCommand(“更新分页集状态='1',其中ID=@ID”,obj.openConnection());//我这样做是因为从该表中选择我已经选择的值,我希望该表的状态为1,ID为1或零,这样我的代码就不会再选择它们了@Hari help?当
IDevery value大于零,并且我想为每个ID值指定0时,你想用什么?这样我的数据表就不会根据这个值选择数据了值,如果我的else不能正常工作,我可以看到,请告诉我是否有其他方法将零分配给每个ID,无论我得到的是67还是74,都应该将其分配为零,并且也在表中