c# - 请帮助我了解如何将我的代码转换为像这个线程一样工作

标签 c# asp.net sql sql-server t-sql

我不确定是否需要创建一个全新的类或者什么,我对 ASP.NET 非常陌生。

这是我的代码:

public static IEnumerable<DistInfo> GetGeneralInformation ( int ClientID )
{
    using ( var conn = new SqlConnection( GetConnectionString() ) )
    using ( var cmd = conn.CreateCommand() )
    {
        conn.Open();
        cmd.CommandText =
        @"SELECT i.GoLiveDate, i.FirstBonusRun, i.TechFName, i.TechLName, i.TechEmail, i.TechPhone, i.WebISPFName, i.WebISPLName, 
          i.WebISPEmail, i.WebISPPhone, i.FullFillFName, i.FullFillLName, i.FullFillEmail, i.FullFillPhone, d.FName,
          d.LName, d.HomePhone, d.Email
          FROM NC_Information i
          INNER JOIN Distributor d
            ON d.DistID = i.ClientID
          WHERE clientID = @value";
        cmd.Parameters.AddWithValue( "@value", ClientID );
        using ( var reader = cmd.ExecuteReader() )
        {
            while ( reader.Read() )
            {
                var distInfo = new DistInfo
                {
                    AnticipatedLaunchDate = reader.GetDateTime( reader.GetOrdinal( "GoLiveDate" ) )
                };
                yield return distInfo;
            }
        }
    }
}

给出您是否缺少程序集或引用。这是否意味着我需要创建一个 DistInfo 类才能完成这项工作?

new DistInfo 给出与上面相同的错误。

抱歉,我对 ASP.NET 非常陌生,不太明白如何让我的工作像这篇文章中那样:

I keep getting this error: "Invalid attempt to call Read when reader is closed"

最佳答案

您实际上有一个名为 DistInfo 的类吗?代码可以编译吗?如果没有,您需要添加一个至少具有 DateTime 的新 DistInfo 类。像这样的东西:

public class DistInfo
{
    public DateTime AnticipatedLaunchDate { get; set; }
}

如果需要,您可以在其中添加更多属性:)

关于c# - 请帮助我了解如何将我的代码转换为像这个线程一样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10253367/

相关文章:

c# - 属性和方法之间的歧义

c# - 将值绑定(bind)到用户控件时出现问题

c# - 在 IE 11 中,在导航到 Angular 应用程序中的另一个页面时,favicon 消失了

php - 选择第二、第三、第四、第五最大的数

mysql - MySQL 中的逻辑或

sql - 如何在 PostgreSQL 中查询 JSON 列以获取唯一对象值

c# - Entity Framework - 一个 edmx 文件中的所有表

c# - 哪个本地数据库适合我的情况?

c# - 通过asp.net连接mysql数据库

asp.net - 是否有另一种方法来进行已经构建和审核的 ASP.Net 表单例份验证?