在SQL Server中使用count()
本文关键字:count SQL Server | 更新日期: 2023-09-27 18:18:23
下面是我用来从列nos
获取计数的代码。
//get max count of orders on server .2
public int getmaxcountfornos(string caseno,TextBox TextBox3)
{
int count2 = 0;
try
{
String dd_webCofig = ConfigurationManager.ConnectionStrings["counton140"].ConnectionString;
OdbcConnection ddlistconn = new OdbcConnection(dd_webCofig);
ddlistconn.Open();
string cnt_2 = "select count(nos) from training_jud.orders where fil_no=@b and jdate=@c";
OdbcCommand ddlistCmd_2 = new OdbcCommand(cnt_2, ddlistconn);
ddlistCmd_2.Parameters.AddWithValue("b", caseno);
ddlistCmd_2.Parameters.AddWithValue("c", Convert.ToDateTime(TextBox3.Text).ToString("yyyy-MM-dd"));
count2 = (int)ddlistCmd_2.ExecuteScalar();
}
catch (Exception ee)
{
HttpContext.Current.Response.Write(ee.Message);
}
return count2;
}
这里我得到的异常是
有谁能帮我解决这个问题吗?指定的类型转换无效。
试试这个:
//get max count of orders on server .2
public int getmaxcountfornos(string caseno,TextBox TextBox3)
{
int count2 = 0;
try
{
String dd_webCofig = ConfigurationManager.ConnectionStrings["counton140"].ConnectionString;
OdbcConnection ddlistconn = new OdbcConnection(dd_webCofig);
ddlistconn.Open();
string cnt_2 = "select count(nos) from training_jud.orders where fil_no=@b and jdate=@c";
OdbcCommand ddlistCmd_2 = new OdbcCommand(cnt_2, ddlistconn);
ddlistCmd_2.Parameters.AddWithValue("**@b**", caseno);
ddlistCmd_2.Parameters.AddWithValue("**@c**", Convert.ToDateTime(TextBox3.Text).ToString("yyyy-MM-dd"));
count2 = **Convert.ToInt32**(ddlistCmd_2.ExecuteScalar());
}
catch (Exception ee)
{
HttpContext.Current.Response.Write(ee.Message);
}
return count2;
}
count2 = int.Parse(ddlistCmd_2.ExecuteScalar().ToString());
用上面的代替
count2 = (int)ddlistCmd_2.ExecuteScalar();
问题解决了
到目前为止,你的代码运行良好,但是,请尝试下面的代码部分,谢谢
string cnt_2 = "select count(nos) as OrderCount from training_jud.orders where fil_no=@b and jdate=@c";
OdbcCommand ddlistCmd_2 = new OdbcCommand(cnt_2, ddlistconn);
ddlistCmd_2.Parameters.AddWithValue("@b", caseno);
ddlistCmd_2.Parameters.AddWithValue("@c", Convert.ToDateTime(TextBox3.Text).ToString("yyyy-MM-dd"));
count2 = Convert.ToInt32(ddlistCmd_2.ExecuteScalar());