C# 调用从SQL表到文本框的最大值
我正在使用Windows Forms C应用程序,需要从数据库自动生成发票号。为此,我需要从数据库中获取最大值,并希望添加一个以db为单位的最大值,知道吗C# 调用从SQL表到文本框的最大值,c#,sql,winforms,C#,Sql,Winforms,我正在使用Windows Forms C应用程序,需要从数据库自动生成发票号。为此,我需要从数据库中获取最大值,并希望添加一个以db为单位的最大值,知道吗 SELECT MAX(column) FROM table 将从“列”返回最大值。不过,您确实应该考虑使用自动增量发票。如果有多个用户同时插入新记录,则他们可能会获得相同的发票号。您可以使用标识列设计数据库表。数据库将为插入的行分配下一个值。您可以使用以下选项之一访问该值:作用域标识、@@IDENTITY或当前标识。更多信息可在此处找到:
SELECT MAX(column) FROM table
将从“列”返回最大值。不过,您确实应该考虑使用自动增量发票。如果有多个用户同时插入新记录,则他们可能会获得相同的发票号。您可以使用标识列设计数据库表。数据库将为插入的行分配下一个值。您可以使用以下选项之一访问该值:作用域标识、@@IDENTITY或当前标识。更多信息可在此处找到: 要了解作用域标识和@@IDENTITY之间的区别,请参见。使用Maxcolumn\u名称是最好的方法,另一种方法是通过降序并按顶部1取第一行来排序所需的列 您需要验证是否没有记录/这是第一条记录 语法:
Select top 1 Column_name from TableName Order by Column_Name desc
用法示例:
Select top 1 INV_NUMBER from TRANSACTION Order by INV_NUMBER desc
请尝试以下操作:
connection.Open();
OleDbCommand maxcmd = new OleDbCommand("select max(invoice_no)+1 from tbl_invoices",connection); // + one to Generate +1
txtnewinvoiceno.Text = maxcmd.ExecuteScalar().ToString();
您希望值在哪里?在数据库或前端中?从一个表到另一个表的最大值尝试此操作从前端中我需要的数据库中选择最大值到表值。要在文本框中查看,请不要这样做!这是不可靠的!如果多个用户正在使用您的应用程序,迟早会有重复的!让数据库来处理这个问题-在SQL Server中使用INT-IDENTITY或任何其他数据库必须安全处理的自动递增机制来确定唯一的数字!我不擅长SQL编码,所以有人能帮我做到这一点吗