每当我在MySql中运行此查询时,它总是返回3行,这些行具有相同的ID,但是记录不同,但是在我的代码中,它仅返回1行。
这是我的代码:
public DataTable DBSelect(string commandSelect)
{
try
{
var sqlComm = new MySqlCommand();
var sql
DataAdapter = new MySqlDataAdapter();
var dt = new DataTable();
clsGlobals.gvConnMy = null;
if (clsGlobals.gvConnMy == null)
{
clsGlobals.gvConnMy = CreateConnection(clsGlobals.gvstrConnString);
}
if (clsGlobals.gvConnMy.State == ConnectionState.Closed)
{
clsGlobals.gvConnMy.Open();
}
sqlComm = clsGlobals.gvConnMy.CreateCommand();
sqlComm.CommandTimeout = 0;
sqlComm.CommandText = commandSelect;
dt.Load(sqlComm.ExecuteReader());
sqlComm.Dispose();
return dt;
答案 0 :(得分:0)
根据this,我认为这是正常行为。
“ Loadmethod使用已加载的IDataReader的第一个结果集,并在成功完成后将读取器的位置设置为下一个结果集(如果有)。”
我认为您必须迭代直到加载所有记录。
答案 1 :(得分:0)
我能够通过将dt.Load更改为sqlDataReader.Fill来解决该问题。