读书人

☆★☆ DbDataAdapter.Fill 方法的有

发布时间: 2012-01-07 21:41:55 作者: rapoo

☆★☆ DbDataAdapter.Fill 方法的问题 ! 加急!!! ☆★☆
实在百思不得其解阿 ! 望赐教 !


错误如下 :
------------------------------------
异常详细信息: 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);
}

}


[解决办法]
这是SQL查询语句的问题

[解决办法]
strQuery= "select menuid,name,menulink from menu where fatherid=(select menuid from menu where fatherid=-1) order by seq ";

strQuery= "select menuid,name,menulink from menu where fatherid=(select menuid from menu where fatherid=-1) and name!= '系统管理 ' order by seq ";
========================================================================

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返回的记录是多个,不能用 =

[解决办法]
select top 1 menuid from menu where fatherid=-1

读书人网 >asp.net

热点推荐