运行以下代码时出现此错误:
不明确的列名'约会ID'。
异常详细信息: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; }
}
可能是什么原因?
答案 0 :(得分:3)
例外说明了一切。在不同的表中有多个名为AppointmentID
的列。您可以在查询中使用table aliases或使用[TableName].[AppointmentID]
。
您应该共享您的SQL代码以获得更具体的帮助。
答案 1 :(得分:1)
查看您的查询。多表中的AppointmentID列。
您必须使用表别名there
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 ;