繁体   English   中英

SqlException:列名称不明确

[英]SqlException: Ambiguous column name

运行以下代码时出现此错误:

列名称“ AppointmentID”不明确。
异常详细信息:System.Data.SqlClient.SqlException:列名“ AppointmentID”不明确。

源错误:
第68行:adapter.Fill(tbl);

这是导致错误的函数:

public Transaction Payment
{
    get
    {
        return Db.Transaction.FindWhere("[AppointmentID]=@0 AND [Type]='paym'", SqlDb.Params(this.ID));
    }
}

交易结构:

public partial class Transaction : SqlRow
{
    public int CID { get; set; }

    public DateTime Date { get; set; }
    public string Type { get; set; }
    public string Description { get; set; }
    public decimal Amount { get; set; }
    public decimal Balance { get; set; }
    public int? AppointmentID { get; set; }
    public int LocationID { get; set; }
}

可能是什么原因?

例外说明了一切。 不同的表中有不止一列名为AppointmentID列。 您可以在查询中使用表别名或使用[TableName].[AppointmentID]

您应该共享您的SQL代码以获得更具体的帮助。

查看您的查询。 多个表中的AppointmentID列。

您必须使用表的别名看起来

例如 :

CREATE TABLE Table1 
(    
   ID int,    
   AppointmentID int,    
   FirstName  varchar(255)
 );

 CREATE TABLE Table2 
 (    
    ID int,    
    AppointmentID int,    
    LastName  varchar(255)
 );

 Select A.FirstName , A.AppointmentID  , B.LastName , B.AppointmentID  
   From Table1 A, Table2 B   
  Where A.AppointmentID  = B.AppointmentID ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM