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表时,是有不止一列的值。这样学不行吗,该怎样解决啊。
高手赐教啊,在线等!!!!!!
{
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 多结果时候用