gpt4 book ai didi

c# - 如何获取特定 ID 的最后条目

转载 作者:太空宇宙 更新时间:2023-11-03 20:12:04 24 4
gpt4 key购买 nike

下面是我的查询,我想获取 visitno 的最后一个条目,特别是 pid,这个查询工作正常但选择了 pid 的所有行,visistNo 是数字数据类型

public int GetPatientID_visitNo(int pid)
{
int data = 0;
try
{
string sql = "Select VisitNo From Patient_Visit_Details where Patient_ID = " + pid;
cmd = new OleDbCommand(sql, acccon);
rs = cmd.ExecuteReader();
if (rs.HasRows)
{
data = Convert.ToInt32(rs[0]);
}
}
catch (Exception err)
{
}
return data;
}

当我尝试下面的查询时,它给我错误 no data exist 因为我的表是新的并且它不包含任何行,我该怎么做

string sql = "Select MAX(VisitNo) From Patient_Visit_Details where Patient_ID = " + pid;

最佳答案

string sql = string.Format(@"SELECT TOP 1 VisitNo
FROM patient_Visit_Details
WHERE Patient_ID = {0}
ORDER BY VisitNo DESC", pid);

此外,为此使用 cmd.ExecuteScalar()。检查没有行时的返回值。

另请注意,如果 pid 已从应用程序外部的某个地方(例如网页)到达,则您的 sql 将打开 Injection attack .

现在,正如已经指出的那样 - 如果没有行怎么办?在这里查看这个问题:Handling ExecuteScalar() when no results are returned ,精神是 - 在尝试转换为 Int32 之前检查 nullDbNull.Value

关于c# - 如何获取特定 ID 的最后条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19398225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com