如何使用存储过程检索最大的CustID号,然后将1添加到此返回的CustID号并在CustID文本框中显示

时间:2013-11-25 08:45:21

标签: c# stored-procedures

我需要像标题所说的那样完成,我已经创建了如下所示的存储过程。

CREATE PROCEDURE FindMaxCustID    
AS
SELECT max(CustID) 
FROM Customer

现在我只需要调用它并将1添加到返回的CustID中,然后将其显示在我的txtCustID文本框中。这就是我到目前为止......

Clear();
command.Connection = conn;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "FindMaxCustID";

但现在我卡住了,我不知道如何编码。

2 个答案:

答案 0 :(得分:0)

这样的事情可以帮助你执行你的程序并返回一个int(CustId),你可以随意增加它。

 using (SqlConnection connection = new SqlConnection(connectionString)) {
    using (SqlCommand cmd = new SqlCommand("FindMaxCustID", connection)) {
      cmd.CommandType = CommandType.StoredProcedure;

      connection .Open();
      var result =  cmd.ExecuteScalar(); // you'll get the first cell on the first row. Cast to the correct type

    }
  }

答案 1 :(得分:0)

我将存储过程更改为:

SELECT ISNULL(MAX(custId),0)+ 1 FROM Customer

然后只是运行Command类ExecuteScalar方法并获取值。但是,正如之前指出的那样,使用存储过程对此来说太过分了。