首页 新闻 搜索 专区 学院

DataAdapter 填充Datatable 返回的数据为空

0
悬赏园豆:10 [已解决问题] 解决于 2012-03-15 09:39

DataAdapter 填充Datatable 返回的数据为空,但是我把调用的sql语句到数据库里查询却能查出数据。不知道这是什么问题 调用

 

 

 public static DataTable GetDataTable(string strSelect, string strWhere, string strTableName, string strOrder)
{
SqlParameter[] param = new SqlParameter[]
{
new SqlParameter("@StrSelect",strSelect),
new SqlParameter("@strWhere",strWhere),
new SqlParameter("@strTableName", strTableName),
new SqlParameter("@strOrder", strOrder)
};
return SqlOperate.SqlHelper.ExecuteTable(CommandType.StoredProcedure, "SP_SelectByWhere", param);
}
 

public static DataTable ExecuteTable(string cmdText)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
PrepareCommand(cmd, connection, null, CommandType.Text, cmdText, null);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dataTable = new DataTable();
DataSet ds = new DataSet();
adapter.Fill(ds, "DataTable");
dataTable=ds.Tables["DataTable"];
cmd.Parameters.Clear();
return dataTable;
}

}
问题补充:

excutesql  那是代码生成的

Brian.Cheung的主页 Brian.Cheung | 初学一级 | 园豆:62
提问于:2012-03-02 14:16
< >
分享
最佳答案
0

传递参数可能有误,你可以用sql server的Profile跟踪一下传递过来的Parameters

收获园豆:10
邀月 | 高人七级 |园豆:25339 | 2012-03-02 14:30
其他回答(3)
0

你的存储过程执行了吗,另外你new了一个ds又去搞一个dt干嘛啊浪费啊!

zhangdaowu5 | 园豆:265 (菜鸟二级) | 2012-03-02 17:08
0

是不是你的数据库连接错误啊!

不行就是你的参数有误了

小小刀 | 园豆:1991 (小虾三级) | 2012-03-03 00:40
0

两个静态方法中,传的参数都呢?第二个需要一个参数不对吧!

一起提升自己 | 园豆:206 (菜鸟二级) | 2012-03-06 13:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册