你都没说错在哪一行。。。
不过根据你的程序,我猜测
ds_monthassess = cf.QueryMonthAssessInfo(ref ds_monthassess, userInfo.p_code);
ds_dailyassess = cf.QueryDailyAssessInfo(ref ds_dailyassess, userInfo.p_code);
ds_totalassess = cf.QueryTotalAssessInfo(ref ds_totalassess, userInfo.p_code);
这3行代码可能会产生以上错误。
以第一行为例。ds_monthassess是System.Data.DataSet类型,后面的cf.QueryMonthAssessInfo(ref ds_monthassess, userInfo.p_code)这个方法可能类型定义为void无返回类型。所以强制转换的时候会报错
SqlExecuteNonQuery返回的是int类型
你public static DataSet DeleteMsg(string strMsgID)
定义的是DataSet 类型
DBUtil.SqlExecuteNonQuery(strCmd) 返回的类型是int的,与你定义的函数返回类型不一致
public static int DeleteMsg(string strMsgID)
{
SqlCommand strCmd = new SqlCommand();
strCmd.CommandText = "delete from msginfo" +
"where msgid=" + strMsgID;
return DBUtil.SqlExecuteNonQuery(strCmd);
}