【发布时间】:2011-02-17 10:16:11
【问题描述】:
我是 .NET 新手,我必须编写执行存储过程并返回 DataTable 的函数。
我的 SqlConnection 已经初始化,在调试器中运行时我可以看到 DataAdapter 返回值,但我的 DataTable 是空的。
public DataTable ExecStoredProcedure(String spName, String uId)
{
DataTable dt = new DataTable();
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(spName, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@UnitIDList", uId);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
}
catch (SqlException ex)
{
throw new Exception(ex.StackTrace + ex.Message);
}
finally
{
conn.Close();
}
return dt;
}
请帮忙。
【问题讨论】:
-
尝试使用profiler查找SQL server上执行了什么SQL,看看是否真的返回任何结果。也许你会在那里找到一些东西。
-
是的。它返回结果。如果我在调试器中运行,我会看到它。
标签: asp.net sql-server-2005 datatable sqldataadapter