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;
}
}
传递参数可能有误,你可以用sql server的Profile跟踪一下传递过来的Parameters
你的存储过程执行了吗,另外你new了一个ds又去搞一个dt干嘛啊浪费啊!
是不是你的数据库连接错误啊!
不行就是你的参数有误了
两个静态方法中,传的参数都呢?第二个需要一个参数不对吧!