datarow未返回确切的行数

jv2fixgn  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(395)

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

ghg1uchk

ghg1uchk1#

我可以通过将dt.load更改为sqldatareader.fill来解决这个问题。

4xy9mtcn

4xy9mtcn2#

根据这一点,我认为这是正常的行为。
loadmethod使用加载的idatareader的第一个结果集,成功完成后,将读取器的位置设置为下一个结果集(如果有)
我认为你必须迭代直到所有的记录都被加载。

相关问题