语法错误:“0”运算符后缺少操作数。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SyntaxErrorException: 语法错误:“0”运算符后缺少操作数。源错误: 
行 52:  string intId;
行 53:  dv.Table = ds.Tables["tree"];
行 54:  dv.RowFilter = "ParentId=''" + parentId+ "''"; 
行 55:  foreach(DataRowView drv in dv)
行 56:  {
堆栈跟踪: 
[SyntaxErrorException: 语法错误:“0”运算符后缺少操作数。]
   System.Data.ExpressionParser.Parse() +2753
   System.Data.DataExpression..ctor(String expression, DataTable table, Type type) +149
   System.Data.DataView.set_RowFilter(String value) +151
   collection.textmenu.InitTree(TreeNodeCollection Nds, String parentId) in e:\瑞博藏品信息管理系统\代码\collection\textmenu.aspx.cs:54
   collection.textmenu.Page_Load(Object sender, EventArgs e) in e:\瑞博藏品信息管理系统\代码\collection\textmenu.aspx.cs:34
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +35
   System.Web.UI.Page.ProcessRequestMain() +731using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;
using Microsoft.Web.UI.WebControls;namespace collection
{
/// <summary>
/// textmenu 的摘要说明。
/// </summary>
public class textmenu : System.Web.UI.Page
{
SqlConnection Conn;
SqlDataAdapter myCmd;
DataSet ds;
protected Microsoft.Web.UI.WebControls.TreeView tvmenu;
string cmdSelect;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//连接数据库,设置连接属性
Conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectString"]);
CreateDataSet();
InitTree(tvmenu.Nodes,"0");
}
//建立数据集
private DataSet CreateDataSet()
{
cmdSelect = "select * from S_Menu";
//设置myCmd命令
myCmd = new SqlDataAdapter(cmdSelect,Conn);
ds = new DataSet();
//填充数据集
myCmd.Fill(ds,"tree");
return ds;
}
//建树的基本思路是:从根节点开始递归调用显示子树
private void InitTree(TreeNodeCollection Nds,string parentId)
{
DataView dv = new DataView();
TreeNode tmpNd;
string intId;
dv.Table = ds.Tables["tree"];
dv.RowFilter = "ParentId=''" + parentId+ "''"; 
foreach(DataRowView drv in dv)
{
tmpNd = new TreeNode();
tmpNd.ID = drv["NodeId"].ToString();
tmpNd.Text = drv["NodeName"].ToString();
//tmpNd.NavigateUrl = "../"+drv["Address"].ToString(); 
Nds.Add(tmpNd);

intId = drv["ParentId"].ToString();
InitTree(tmpNd.Nodes,tmpNd.ID); }
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}