ASP.NET 数据查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 08:12:32
private DataTable Get_Dep_Class(string DepID)
{
SqlDataAdapter dap = new SqlDataAdapter();
DataSet ds = new DataSet();

connectSql();

cmd.CommandText = "select * from Curriculum where CurrID = ( select CurrID from CSD where DepaID =" + DepID + ")";

dap.SelectCommand = cmd;
dap.Fill(ds);

return ds.Tables[0];
}

当我使用这个方法时,出现了如图的错误。
connectSql()是连接数据库的发放。

在查询CSD表时,是有不止一列的值。这样学不行吗,该怎样解决啊。

高手赐教啊,在线等!!!!!!

要查多个 就这样
cmd.CommandText = "select * from Curriculum where CurrID in ( select CurrID from CSD where DepaID =" + DepID + ")";

或者
要查一个就这样

cmd.CommandText = "select * from Curriculum where CurrID = ( select top 1 CurrID from CSD where DepaID =" + DepID + ")";

是数据库语句的问题!
select * from Curriculum where CurrID = ( select CurrID from CSD where DepaID =" + DepID + ")";
改成
select * from Curriculum where CurrID in ( select CurrID from CSD where DepaID =" + DepID + ")";

= 单一结果时候用 in 多结果时候用