2010-02-11 108 views
1

我正在用C#在winforms中工作。我的继承人代码需要SQL查询调试

query = "SELECT max(Appointment_Time) FROM Appointments WHERE (Appointment_Status = 'D')"; 
dset = db.GetRecords(query,"Appointments"); 
ctime_Label.Text = dset.Tables["Appointments"].Rows[0]["Appointment_Time"].ToString(); 

db.GETRecords是为我提供SQL服务类的功能,只需返回我的数据集。我不断收到错误“列‘Appointment_Time’不列入属于表约会”,这是愚蠢的Cuz

  • 当我插入值的 工作的罚款。
  • 当我不使用 MAX(Appointment_Time)
  • 职能是 工作正常

WHA是这里的问题..我觉得有什么做的MAX()函数。对此的任何建议或替代

回答

2

在SQL Server中运行查询,看看你得到了什么。

现在试试:

SELECT max(Appointment_Time) as A_Time FROM Appointments WHERE (Appointment_Status = 'D')"; 

然后

ctime_Label.Text = dset.Tables["Appointments"].Rows[0]["A_Time"].ToString(); 
6

当您在SELECT子句中应用函数时,服务器必须为结果列选择一个名称,这通常反映了函数的功能 - 类似max(Appointment_Time)。用作参数的字段显示为“隐藏”。这就是为什么字段Appointment_Time对您的情况下的调用代码不可见。

您应指定你想要的聚合领域中使用AS的SQL调用,例如:

SELECT max(Appointment_Time) AS Max_Appointment_Time 
FROM Appointments WHERE (Appointment_Status = 'D') 

然后参照以场为Max_Appointment_Time调用代码。如果您愿意,您可以使用与源字段相同的名称。

+0

日Thnx你们了男孩。我选择了在FCFS先来的拳头先得 – Moon 2010-02-11 15:48:51