none
dataset 一个很怪的问题 RRS feed

  • 问题

  •  

    我在查数据的时候,返回的是datatable,可是:

    在我调试的时候,假如一共22条数据;我用了dataset可视化工具,却在dataset可视化工具里,不能全部读到数据,有5行以一种空行出现,我鼠标移到单元格上去时,出现“调试器正忙,无法获取值”的提示;

     

    这是怎么回事啊;我还是头一回遇到;

     

    当我重新调试时,没有读到的数据不定,出现的提示是一样的;


    大其心,可容天下之物; 虚其心,可受天下之善;
    2010年3月30日 7:43

答案

  • 你好,

    对于你的这种情况我没有遇到过。

    你可以将数据显示出来看结果是否正确。另外读取数据的时候对于Connection对象最好采用下面这种方式使用:

    using(SqlConnection scon=new SqlConnection () )
    {
    }
    

    因为你在调试的时候有可能没有运行到关闭连接的代码就退出了导致没有关闭连接。

    这样一些连接被一直占用有可能会出现这种情况。


    Microsoft Online Community Support
    2010年4月1日 3:21

全部回复

  •  

    还是同样的问题:我从excel中读数据的时候也是这样,

     private DataTable readExcel(string SaveFilePath)
        {
            DataTable dt = null;
            try
            {
                string strExcelPath = SaveFilePath;//xls导入 
                string strCon = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + strExcelPath + ";Extended Properties=Excel 8.0; ";//xls导入
                OleDbConnection objCon = new OleDbConnection(strCon);
                objCon.Open();
                DataTable yTable = objCon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "TABLE" });
                string strSel = "select * from [" + yTable.Rows[0]["Table_Name"].ToString() + "]";//xls导入
                OleDbDataAdapter objAdapter = new OleDbDataAdapter(strSel, objCon);
                DataSet ds = new DataSet();
                objAdapter.Fill(ds);
                dt = ds.Tables[0];
                objCon.Close();
            }
            catch (Exception er)
            {
                Response.Write(MessageBox.show(er.Message));
            }
            return dt;
        }

     

    这样也出现上面那样的错误, excel  共有200条的话,第一次调试可能 会读到dataset 中200条,再次调试时,可能会有180条,在dataset可视化工具里

    ,能看到20行全为空,上面的提示为“调试器正忙,无法获取值”,这是怎么回事啊?


    大其心,可容天下之物; 虚其心,可受天下之善;
    2010年4月1日 2:36
  • 你好,

    对于你的这种情况我没有遇到过。

    你可以将数据显示出来看结果是否正确。另外读取数据的时候对于Connection对象最好采用下面这种方式使用:

    using(SqlConnection scon=new SqlConnection () )
    {
    }
    

    因为你在调试的时候有可能没有运行到关闭连接的代码就退出了导致没有关闭连接。

    这样一些连接被一直占用有可能会出现这种情况。


    Microsoft Online Community Support
    2010年4月1日 3:21