C# “00”附近的语法不正确
我是asp和sql server的新手。我在sql查询中遇到问题C# “00”附近的语法不正确,c#,asp.net,C#,Asp.net,我是asp和sql server的新手。我在sql查询中遇到问题 string obal ; decimal _obalss = 0; decimal obalss = 0; sconnection c = new sconnection(); string cus_id = Session["cusid"].ToString(); DateTime maxdate = DateTime.Parse(fromdt.T
string obal ;
decimal _obalss = 0;
decimal obalss = 0;
sconnection c = new sconnection();
string cus_id = Session["cusid"].ToString();
DateTime maxdate = DateTime.Parse(fromdt.Text, new System.Globalization.CultureInfo("en-US"));
string mdate = maxdate.ToString();
string query_sl = "select sum(amount) as amount from sale where cusid = " + cus_id + " and invdate < " + maxdate + " group by cusid";
SqlDataReader dr = c.reader(query_sl);
if (dr.Read())
{
decimal.TryParse(dr["amount"].ToString(), out _obalss);
obalss = _obalss;
}
else
{
obalss = 0;
}
dr.Close();
dr.Dispose();
请注意maxdate周围的单引号…Quick note:这与ASP.NET无关,而与SQL有关。放置断点并查看哪个查询生成到query_sl string变量中,将其发布到此处,以便我们可以看到哪个查询实际执行了参数化查询至少+1。
string query_sl = "select sum(amount) as amount from sale where cusid = " + cus_id + " and invdate < " + maxdate + " group by cusid";
string query_sl = "select sum(amount) as amount from sale where cusid = @CUSID and invdate < @MAXDATE group by cusid";
using(SqlCommand cmd = new SqlCommand(query_sl, c))
{
cmd.Parameters.Add(new SqlParameter("@CUSID", SqlDbType.Int)).Value = cus_id;
cmd.Parameters.Add(new SqlParameter("@MAXDATE", SqlDbType.DateTime)).Value = maxdate;
...
}
string query_sl = "select sum(amount) as amount from sale where cusid = " + cus_id + " and invdate < '" + maxdate + "' group by cusid";