写了一个输出数组的方法,可是却报错:并非所有的代码路径都返回!
这是错在哪???public string RetrieveAll(out string[] groupdesc,out string[] roledesc,out string[] objectname)
{
IPrincipal p = HttpContext.Current.User;
string name=p.Identity.Name;
string conn=System.Configuration.ConfigurationSettings.AppSettings["tspt"];
OleDbConnection myconnection=new OleDbConnection(conn);
OleDbCommand objcmd=new OleDbCommand();
objcmd.Connection=myconnection;
OleDbDataReader PreRead_All;
string query="select b.roledesc,c.objectname,d.groupdesc " +
"from tspt.mag_relation a,tspt.mag_role b,tspt.mag_object c,tspt.mag_group d " +
"where a.userid='" + name + "' and a.groupid=d.groupid and a.roleid=b.roleid and a.objectid=c.objectid";
objcmd.CommandText=query;
myconnection.Open();
PreRead_All=objcmd.ExecuteReader();
int n=0;
while(PreRead_All.Read())
{
groupdesc[n]=(string)PreRead_All["groupdesc"];
roledesc[n]=(string)PreRead_All["roledesc"];
objectname[n]=(string)PreRead_All["objectname"];
n=n+1;
}
PreRead_All.Close();
objcmd.Dispose();
myconnection.Close();
myconnection.Dispose();
}