C# 如何在SQL Server中创建表中没有ID的自动生成数字系列(as 000010002)

C# 如何在SQL Server中创建表中没有ID的自动生成数字系列(as 000010002),c#,asp.net,.net,web,C#,Asp.net,.net,Web,我想创建或生成计费编号系列,如00001/SC、00002/SC……等等。在我的数据库表中,ID列不可用,所以现在我可以做什么 谢谢只需在插入前创建一个触发器。您可以阅读有关触发器的更多信息,并且可以通过两种方法来完成此操作。 1:-借助数据库表中的自动生成ID >SqlCommand-bill=newsqlcommand(“从tableName中选择(右('000000'+CAST((IsNull(Max(ID),0)+1)作为varchar),6)+'/Sc”),cons) cmd.Para

我想创建或生成计费编号系列,如00001/SC、00002/SC……等等。在我的数据库表中,ID列不可用,所以现在我可以做什么
谢谢

只需在插入前创建一个触发器。您可以阅读有关触发器的更多信息,并且可以通过两种方法来完成此操作。 1:-借助数据库表中的自动生成ID >SqlCommand-bill=newsqlcommand(“从tableName中选择(右('000000'+CAST((IsNull(Max(ID),0)+1)作为varchar),6)+'/Sc”),cons)

cmd.Parameters.AddWithValue(“@BillNo”,结果);(发送到数据库)


在RowCount()方法的帮助下。。。 cn.Open()

SqlCommand cmd=newsqlcommand(“插入到演示(账单编号,名称)值(@cust\u id,@Name)”,cn);
//数行
SqlCommand CountingRows=新的SqlCommand(“从演示中选择计数(*),cn);
int result=Convert.ToInt32(CountingRows.ExecuteScalar());
if(结果+1=10&&result+1=100)
{
cmd.Parameters.AddWithValue(“@cust_id”,“00”)+(结果+1)+(“/Sc”);
cmd.Parameters.AddWithValue(“@Name”,textBox1.Text);
cmd.ExecuteNonQuery();
}
[在此处输入图像描述][1]
cn.Close();

如果表没有Id列,则SEQUENCE属性可用于创建增量值

如何创建序列

CREATE SEQUENCE [dbo].[SequenceID]  AS [int]  START WITH 1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 2147483647  CACHE GO
如何获得新序列

SELECT NEXT VALUE FOR [dbo].[SequenceID] 
每次执行上一个查询(
…下一个值…
),MSSQL Server都会给出一个新Id

如何创建新的帐单Id

select Right('000000' + CONVERT(NVARCHAR, NEXT VALUE FOR [dbo].[SequenceID]), 6)+'/SC' AS BillingId

您可以手动计算该值并为此定义自定义项。它将获取总计数并在总计数之前附加零
SELECT NEXT VALUE FOR [dbo].[SequenceID] 
select Right('000000' + CONVERT(NVARCHAR, NEXT VALUE FOR [dbo].[SequenceID]), 6)+'/SC' AS BillingId