Moo*_*oon 1 c# sql debugging dataset winforms
我正在使用C#进行winforms.继承我的代码
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();
Run Code Online (Sandbox Code Playgroud)
db.GETRecords是为我提供sql-services的类的函数,只返回一个数据集.我一直得到错误"列'Appointment_Time'不属于表Appointments"这是愚蠢的cuz
这是问题..我认为与max()函数有关.任何建议或替代方案
当您在SELECT子句中应用函数时,服务器必须为结果列选择一个名称,这通常反映了函数正在执行的操作 - 类似于max(Appointment_Time).用作函数参数的字段似乎是"隐藏的".这就是为什么Appointment_Time在您的情况下该字段对于调用代码是不可见的.
您应该使用SQL指定要在聚合字段中调用的内容AS,例如:
SELECT max(Appointment_Time) AS Max_Appointment_Time
FROM Appointments WHERE (Appointment_Status = 'D')
Run Code Online (Sandbox Code Playgroud)
然后Max_Appointment_Time在调用代码中引用该字段.如果您愿意,可以使用与源字段相同的名称.