【问题标题】:Auto-create unique ID from Name entered by user?根据用户输入的名称自动创建唯一 ID?
【发布时间】:2016-09-26 12:27:20
【问题描述】:

在 Visual Studio 2008 中,在 Web 应用程序(C#)中,在供应商主 Web 表单中,当我添加新的供应商名称(如“Mac'D”)时,我希望创建其唯一 ID,如 (M001)。此 ID 将从名称的第一个首字母为“M”和 001 生成,如果有另一个供应商具有第一个首字母“M”,那么它会继续下一个 ID(M002)等等,如果另一个供应商具有不同的名称,例如“肯德基”,那么它会像(K001)。

有可能吗?如果是的话......那么请帮助我......

【问题讨论】:

  • 带 VARCHAR 的自动递增列 c-sharpcorner.com/UploadFile/ff2f08/…
  • 到目前为止您尝试过什么?请提供一些代码,以便我指导您。
  • 第 1 步:提供数据在数据库中的保存方式,然后我们才能给出任何建议。
  • 最安全的方法是使用序列,您可以考虑为每个字母创建一个序列。 msdn.microsoft.com/en-us/library/ff878091.aspx
  • SqlCommand cmd = new SqlCommand("插入 SupplierMaster 值('" + Convert.ToString(txtVendorID.Text) + "','" + null + "','" + Convert.ToDateTime( txtdate.Text) + "','" + Convert.ToString(txtVendorName.Text) + "','" + Convert.ToString(txtAddress.Text) + "','" + Convert.ToString(txtMobNo.Text) + "','" + Convert.ToString(txtMailId.Text) + "','" + Convert.ToString(txtCtcnPrsnNm.Text) + "','" + Convert.ToString(txtContactNo.Text) + "','" + Convert.ToString(txtVatTin.Text) + "','" + Convert.ToString(txtCstTin.Text) + "')", con);这就是记录插入数据库的方式

标签: c# asp.net sql-server web-applications


【解决方案1】:

ALTER PROCEDURE dbo.SP_VENDORCODE @IN INT, @DATE DATETIME, @NAME NVARCHAR(MAX), @ADD1 NVARCHAR(MAX), @MOB NVARCHAR(MAX), @EMAIL NVARCHAR(MAX), @CONTACTPERSON NVARCHAR(MAX), @MOB1 NVARCHAR(MAX), @VAT NVARCHAR(MAX), @CST NVARCHAR(MAX) AS BEGIN DECLARE @NEWID NVARCHAR(5); DECLARE @PREFIX NVARCHAR(1); SET @PREFIX = UPPER(SUBSTRING(@NAME, 1, 1)) SELECT @NEWID = (@PREFIX + replicate('0', 3 - len(CONVERT(NVARCHAR,N.OID + 1))) + CONVERT(NVARCHAR,N.OID + 1)) FROM ( SELECT CASE WHEN MAX(T.TID) IS null then 0 else MAX(T.TID) end as OID FROM ( SELECT SUBSTRING(Code, 1, 1) as PRE_FIX,SUBSTRING(Code, 2, LEN(Code)) as TID FROM SupplierMaster ) AS T WHERE T.PRE_FIX = @PREFIX ) AS N INSERT INTO SupplierMaster VALUES(@IN,@NEWID,@DATE,@NAME,@ADD1,@MOB,@EMAIL,@CONTACTPERSON,@MOB1,@VAT,@CST) END

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-31
    • 2012-11-18
    • 2019-01-24
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多