C# 创建一个按钮,通知我最后一个“sReportNo”

C# 创建一个按钮,通知我最后一个“sReportNo”,c#,wpf,sqlite,C#,Wpf,Sqlite,我有一个名为“Reports”的数据库,我想打印最后一个“sReportNo” 这就是代码: SQLiteCommand CommandText = new SQLiteCommand("SELECT * FROM Reports WHERE sReportNo = (SELECT MAX(sReportNo) FROM Reports)", conn); SQLiteDataReader reader = commandText.ExecuteReader(); var l

我有一个名为“Reports”的数据库,我想打印最后一个“sReportNo”

这就是代码:

SQLiteCommand CommandText = new SQLiteCommand("SELECT * FROM Reports WHERE sReportNo = (SELECT MAX(sReportNo) FROM Reports)", conn);
SQLiteDataReader reader = commandText.ExecuteReader();
var lastReportNo = reader;
MessageBox.Show("Currently, there is " +lastReportNo+ " reports.");

它会打印“当前有System.Data.SQLiteDataReader报告。”

我找到了正确的代码:

SQLiteCommand commandText = new SQLiteCommand(“SELECT Count(*) FROM Reports ORDER BY sReportNo DESC”, conn);
var lastReportNo = commandText.ExecuteScalar();
MessageBox.Show("Currently, there is " + lastReportNo + " reports.");

旁注:为什么不简单地从sReportNo DESC的报告顺序中选择TOP 1*?它告诉我“数据库架构已更改”-“接近“1”:语法错误“我没有抓住你,那么我该怎么办?”我写的正是你写的。目前,有+lastReportNo+报告。将执行lastReportNo.ToString,这将导致观察到的输出。您需要将读者提前到第一个结果(如果有的话),然后调用其中一个Get。。。重载并输出结果。如果您期望单个值结果,请考虑使用ExcuteSCAAR而不是ExeCudieDead,然后需要读取。如果有可能删除记录,则会得到错误的值。一个更好的查询是根据sReportNo DESC从报告顺序中选择前1个sReportNo抱歉,我应该检查确切的语法-根据sReportNo DESC从报告顺序中选择sReportNo LIMIT 1