数据行未返回确切的行数

时间:2018-08-13 16:41:07

标签: c# mysql sql datarow

每当我在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;

enter image description here

2 个答案:

答案 0 :(得分:0)

根据this,我认为这是正常行为。

  

“ Loadmethod使用已加载的IDataReader的第一个结果集,并在成功完成后将读取器的位置设置为下一个结果集(如果有)。”

我认为您必须迭代直到加载所有记录。

答案 1 :(得分:0)

我能够通过将dt.Load更改为sqlDataReader.Fill来解决该问题。