data . load (reader)错误“Table TableName不属于这个数据集”

本文关键字:不属于 TableName 数据集 Table load reader 错误 data | 更新日期: 2023-09-27 18:05:56

我正在尝试使用system.data.common.dbcommand.填充数据集(不止一个数据库),但不成功。我得到错误"表TableName不属于这个数据集。"

注意:TableName是数据表的名称。这是我的代码,请指导和帮助我。

dbCommand = DBHelper.CreateCommand("SPName");
    DataTable EmailMessage=new DataTable ();
    DataTable EmailContact=new DataTable ();
    DataTable EmailAttachment=new DataTable ();
    EmailAttachment.TableName = "EmailAttachment";
    EmailContact.TableName = "EmailContact";
    EmailMessage.TableName = "EmailMessage";
    DataTable[] tables = {EmailMessage,EmailContact,EmailAttachment};
    DataSet ds= DBHelper .ExecuteDataSet(dbCommand,tables);


public static DataSet  ExecuteDataSet(DbCommand command,DataTable[] tables)
    {
        DataSet ds = new DataSet();
        foreach (DataTable dt in tables)
        {
            ds.Tables.Add(dt);            
        }
        try
        {
            command.Connection.Open();
            DbDataReader reader = command.ExecuteReader();
            ds = new DataSet ();
            ds.Load (reader, LoadOption.OverwriteChanges,tables);
        }
        catch (Exception ex)
        { throw ex; }
        finally
        { command.Connection.Close(); }
        return ds;
    }

我已经咨询了http://msdn.microsoft.com/en-us/library/5fd1ahe2.aspx,但不能得到我错的地方。请帮帮我。

Thanks to lot

data . load (reader)错误“Table TableName不属于这个数据集”

您正在重写此代码块中的数据集定义

 try
        {
            command.Connection.Open();
            DbDataReader reader = command.ExecuteReader();
            **ds = new DataSet ();**
            ds.Load (reader, LoadOption.OverwriteChanges,tables);
        }

这样说:

try
        {
            command.Connection.Open();
            DbDataReader reader = command.ExecuteReader();
            //**ds = new DataSet ();**
            ds.Load (reader, LoadOption.OverwriteChanges,tables);
        }

问候! !

检查ds.Tables.Add方法的过载情况。请确保在添加表时指定了表名,否则它可能只是使用默认名称添加它,例如'TableName'。

祝你好运!

只是一个注释(需要更多的空间!)-

请不要这样做:

...
catch (Exception ex)
{ throw ex; }
...
http://www.codeproject.com/KB/architecture/exceptionbestpractices.aspx

http://msdn.microsoft.com/en-us/library/seyhszts.aspx