C# 生成随机订单号

//生成固定位数的随机数

//ran.Next(999)生成的是1-999的随机数,不能保证位数是固定的。

 

public static string GenerateOrderNo()
        {
            Random ran = new Random();
            return string.Format("{0}{1}{2:D3}", "用户id", DateTime.Now.ToString("yyyyMMddHHmmss"), ran.Next(999));

    // return string.Format("{0}{1}{2:000}", "用户id", DateTime.Now.ToString("yyyyMMddHHmmss"), ran.Next(999));

        //日期格式的优化 return string.Format("{0}{1:yyyyMMddHHmmss}{2:000}", "用户id", DateTime.Now, ran.Next(999));
        }    

转载于:https://www.cnblogs.com/QZBOY/p/10517013.html

以下是一个在C#程序中调用SqlServer存储过程生成随机订单号的示例代码: SqlServer存储过程: ``` CREATE PROCEDURE GenerateOrderNumber AS BEGIN DECLARE @OrderNumber NVARCHAR(20) SET @OrderNumber = '' -- 生成日期部分 SET @OrderNumber = @OrderNumber + CONVERT(NVARCHAR(8), GETDATE(), 112) -- 生成随机数部分 DECLARE @RandomNumber TABLE (Value INT) DECLARE @RandomValue INT DECLARE @i INT = 1 WHILE @i <= 4 BEGIN SET @RandomValue = CAST(RAND() * 1000 AS INT) INSERT INTO @RandomNumber (Value) VALUES (@RandomValue) SET @i = @i + 1 END -- 将随机数部分拼接到订单号中 SELECT @OrderNumber = @OrderNumber + RIGHT('000' + CAST(Value AS NVARCHAR(3)), 3) FROM @RandomNumber -- 返回生成的订单号 SELECT @OrderNumber AS OrderNumber END ``` C#程序代码: ``` using System.Data.SqlClient; // 创建连接对象 SqlConnection conn = new SqlConnection("Data Source=your_server;Initial Catalog=your_database;User ID=your_username;Password=your_password"); // 创建命令对象 SqlCommand cmd = new SqlCommand("GenerateOrderNumber", conn); cmd.CommandType = CommandType.StoredProcedure; // 创建输出参数 SqlParameter orderNumberParam = new SqlParameter("@OrderNumber", SqlDbType.NVarChar, 20); orderNumberParam.Direction = ParameterDirection.Output; cmd.Parameters.Add(orderNumberParam); // 打开连接,执行命令,关闭连接 conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); // 获取输出参数的值 string orderNumber = orderNumberParam.Value.ToString(); ``` 以上代码中,需要将代码中的"your_server"、"your_database"、"your_username"和"your_password"替换为实际的SqlServer服务器、数据库、用户名和密码。生成的随机订单号最终存储在"orderNumber"变量中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值