C# 从当前日期选择最大值
我需要在数据库中插入值start by 1,当开始新日期时,它将再次从1开始C# 从当前日期选择最大值,c#,asp.net,C#,Asp.net,我需要在数据库中插入值start by 1,当开始新日期时,它将再次从1开始 例如,今天是2018年4月27日,每次点击按钮在数据库中插入新数字时,计数从1,2,3,4,5开始,但从4月28日开始时,计数将再次设置为1(0)您可以做一件简单的事情,首先使用当前日期在数据库上启动select查询,查看是否存在任何记录(如果存在),然后插入增加该值的记录。如果不存在,则首先插入1作为初始值。所以从第二天开始,它将首先检查是否存在今天日期的任何记录。如果是,则将增加该值,否则插入新值 检查下面的代码
例如,今天是2018年4月27日,每次点击按钮在数据库中插入新数字时,计数从1,2,3,4,5开始,但从4月28日开始时,计数将再次设置为1(0)您可以做一件简单的事情,首先使用当前日期在数据库上启动select查询,查看是否存在任何记录(如果存在),然后插入增加该值的记录。如果不存在,则首先插入1作为初始值。所以从第二天开始,它将首先检查是否存在今天日期的任何记录。如果是,则将增加该值,否则插入新值 检查下面的代码
SqlConnection con = new SqlConnection("ConnectionString");
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT MAX([VALUE]) as MaxValue FROM Table1 where MyDate=GETDATE()";
object maxValue = cmd.ExecuteScalar();
if (maxValue != DBNull.Value)
{
int value = Convert.ToInt32(maxValue) + 1;
cmd.CommandText = "INSERT INTO Table1 ([VALUES],MyDate) VALUES (" + value + ",GETDATE())";
cmd.ExecuteNonQuery();
}
else
{
cmd.CommandText = "INSERT INTO Table1 ([VALUES],MyDate) VALUES (1, GETDATE())";
cmd.ExecuteNonQuery();
}
在这方面进行适当的代码更改。您好,非常感谢您的回复,先生给了我宝贵的时间,请检查并更正:)SqlConnection conrecipt=new SqlConnection(ConfigurationManager.ConnectionString[“con”].ConnectionString);conrecipt.Open();SqlCommand cmd=newsqlcommand(“从OPDRegistration中选择COALESCE(MAX(OPDNo),0)+1,其中=“+DateTime.Today,conrecit”);int i=Convert.ToInt32(cmd.ExecuteScalar());conrecipt.Close();Label3.Text=i.ToString();检查以上代码并对代码进行适当更改。初始化字符串的格式不符合从索引0开始的规范。我得到这个错误,让你改变了上面的代码。您的连接字符串似乎不正确。