实在百思不得其解阿 ! 望赐教 !
错误如下 :
------------------------------------------------------------------------
异常详细信息: System.Data.SqlClient.SqlException: 子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。源错误: 行 641: SqlDataAdapter myDA = new SqlDataAdapter(strQuery, myConnection);
行 642: DataSet myDS = new DataSet();
行 643: myDA.Fill(myDS, "menu");
行 644:
行 645: myConnection.Close();源文件: d:\LJ\eInfo\App_Code\data\DB.cs 行: 643
-------------------------------------------------------------------------
代码如下:#region 菜单
public DataTable getFirstMenu(string admin)
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings. AppSettings["ConnectionString"]);string strQuery;
if(admin=="0")
{
strQuery="select menuid,name,menulink from menu where fatherid=(select menuid from menu where fatherid=-1) order by seq";
}
else
{
strQuery="select menuid,name,menulink from menu where fatherid=(select menuid from menu where fatherid=-1) and name!='系统管理' order by seq";
}
try
{
myConnection.Open();SqlDataAdapter myDA = new SqlDataAdapter(strQuery, myConnection);
DataSet myDS = new DataSet();
myDA.Fill(myDS, "menu");myConnection.Close();return myDS.Tables["menu"];
}
catch (Exception err)
{
throw new Exception("获取菜单的过程中出现错误。", err);
}}
错误如下 :
------------------------------------------------------------------------
异常详细信息: System.Data.SqlClient.SqlException: 子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。源错误: 行 641: SqlDataAdapter myDA = new SqlDataAdapter(strQuery, myConnection);
行 642: DataSet myDS = new DataSet();
行 643: myDA.Fill(myDS, "menu");
行 644:
行 645: myConnection.Close();源文件: d:\LJ\eInfo\App_Code\data\DB.cs 行: 643
-------------------------------------------------------------------------
代码如下:#region 菜单
public DataTable getFirstMenu(string admin)
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings. AppSettings["ConnectionString"]);string strQuery;
if(admin=="0")
{
strQuery="select menuid,name,menulink from menu where fatherid=(select menuid from menu where fatherid=-1) order by seq";
}
else
{
strQuery="select menuid,name,menulink from menu where fatherid=(select menuid from menu where fatherid=-1) and name!='系统管理' order by seq";
}
try
{
myConnection.Open();SqlDataAdapter myDA = new SqlDataAdapter(strQuery, myConnection);
DataSet myDS = new DataSet();
myDA.Fill(myDS, "menu");myConnection.Close();return myDS.Tables["menu"];
}
catch (Exception err)
{
throw new Exception("获取菜单的过程中出现错误。", err);
}}
========================================================================strQuery="select menuid,name,menulink from menu where fatherid in (select menuid from menu where fatherid=-1) order by seq"; strQuery="select menuid,name,menulink from menu where fatherid in (select menuid from menu where fatherid=-1) and name!='系统管理' order by seq";
你的select menuid from menu where fatherid=-1返回的记录是多个,不能用 =
========================================================================strQuery="select menuid,name,menulink from menu where fatherid in (select menuid from menu where fatherid=-1) order by seq"; strQuery="select menuid,name,menulink from menu where fatherid in (select menuid from menu where fatherid=-1) and name!='系统管理' order by seq";
你的select menuid from menu where fatherid=-1返回的记录是多个,不能用 =================================================================================那怎么用 ? 谢谢 !