PID+"=0"别沉了

chaye12 2008-04-23 03:16:54
大家帮看下,(PID+"=0")是什么意思 下面是一个自定义函数
public static void GenerateTreeForDropDownList(DropDownList dpl, string tblName,string CateName,string CateID,string PID,bool IsClearOldItems)
{
if (IsClearOldItems) dpl.Items.Clear();
//DataTable objTable = MyConst.MyGateway.DbHelper.Select("Select * From " + tblName, null).Tables[0];
DataTable objTable = MyGateway.FromCustomSql("Select * From " + tblName).ToDataSet().Tables[0];
if (objTable.Rows.Count > 0)
{
DataRow[] objRows=objTable.Select(PID+"=0");///就是这个地方,我不懂
foreach (DataRow objRow in objRows)
{
dpl.Items.Add(new ListItem("╋" + objRow[CateName].ToString(), objRow[CateID].ToString()));
GenerateChildForDropDownList(dpl, objTable, CateName,CateID, PID, objRow[CateID].ToString(), "│ ├");
}
}
}应该是传的参数如果传进来的是name 那么是不是就应该是(name+"=0")?那也不对吧,pid参数是string 如果这样应该是(name+"=‘0’")?小弟不明白!还请高手指点
...全文
111 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qltouming 2008-04-23
  • 打赏
  • 举报
回复
这个函数参数PID,其含义应该是数据库中一个字段的名字,比如我传进来的PID值为Table_A

那么DataRow[] objRows=objTable.Select(PID+"=0");///
这一句就是说在objTable中检索Table_A这一列为0的行

Select中要求的参数是一个表达式,用字符串来说明一个简单逻辑,表达式的语法并不完全等于SQL语句的语法

你的字段名是参数传进来的,所以这里当然用PID

要补充的逻辑是“=0”,这不是单个字符,所以当然用双引号。

如果是"=‘0’“的话,那就说明这个列的类型必须是字符型了。但实际上它有可能是int等数据型的。


Fantasy0516 2008-04-23
  • 打赏
  • 举报
回复
1楼正解
叶子 2008-04-23
  • 打赏
  • 举报
回复

DataRow[] objRows=objTable.Select("name=张三");///这个可以
//如果name是个动态的变量
DataRow[] objRows=objTable.Select(name+"=张三");///这样就可以了
youzi1643 2008-04-23
  • 打赏
  • 举报
回复
搜索objTable表中PID=0的记录行
叶子 2008-04-23
  • 打赏
  • 举报
回复



DataRow[] objRows=objTable.Select(PID+"=0");///就是这个地方,我不懂
//这句话的意思是搜索这个集合里的,条件是PID=0;
//就是拼串
//PID是字符串
//"=0"也是字符串
//加起来还是字符串。
//就是条件了

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧