代码如下:stringsql=string.Format("select(@mycnt:=@mycnt+1)as'序号',x.*from(SELECTtaskname,sum(regist_count)as'任务注册人数',"+"(sum(regist_count)/(selectsum(login_user_n...
代码如下:
string sql = string.Format("select (@mycnt := @mycnt + 1) as '序号' , x.* from (SELECT taskname,sum(regist_count) as '任务注册人数',"+
"(sum(regist_count)/(select sum(login_user_number) from ss_srv_guideline c "+
"where c.dataDate= dataDate)) as '任务注册人率',sum(regist_number) as '任务注册次数'"+
",sum(regist_stop_count) as '任务终止次数',(sum(regist_stop_count))/(sum(regist_number)) as'任务终止率' "+
"FROM ss_task_guideline,(select @mycnt:=0) as y where taskname <> '0' and dataDate = '{0}' group by taskname order by regist_count desc) as x;", dataDate);
DataSet ds = dal.execForDataSetHeaderText(sql);
报错:
{MySql.Data.MySqlClient.MySqlException: Fatal error encountered during command execution. ---> MySql.Data.MySqlClient.MySqlException: Parameter '@mycnt' must be defined.
在 MySql.Data.MySqlClient.Statement.SerializeParameter(MySqlParameterCollection parameters, MySqlPacket packet, String parmName)
在 MySql.Data.MySqlClient.Statement.InternalBindParameters(String sql, MySqlParameterCollection parameters, MySqlPacket packet)
在 MySql.Data.MySqlClient.Statement.BindParameters()
在 MySql.Data.MySqlClient.Statement.Execute()
在 MySql.Data.MySqlClient.PreparableStatement.Execute()
在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
是不是.net Sql中带@符号的,都认为是参数啊。
展开