C#编写流水号

C#编写流水号

公司要求

近期公司财务部门要求打印预算申请单时流水号格式为[“Print”+年份+流水号]并存入到数据库当中,
比如今年是2021年,打印第一份申请单,打印出来的内容应该为"Print210001"
注意:需要数据库中有一条基础数据
实现代码如下:
希望对大家有帮助

		/// <summary>
        /// 获取最大打印编号并加1
        /// </summary>
        /// <returns></returns>
        private string GetPrintIdMaxPlusOne()
        {
            int printId = 0;
            string pId = null;
            using (SqlConnection con = new SqlConnection(conStr))
            {
                con.Open();
                string sqlCmd = "SELECT TOP(1) [PrintID] FROM [BudgetForm] ORDER BY [PrintID] Desc";
                using (SqlCommand cmd = new SqlCommand(sqlCmd, con))
                {
                    string temp;
                    temp = cmd.ExecuteScalar().ToString();
                    string temp1 = temp[5].ToString() + temp[6].ToString();
                    if (temp1 == (Convert.ToInt32(DateTime.Now.Year) % 100).ToString()) 
                    {
                        for (int i = 7; i < temp.Length; i++)
                        {
                            pId += temp[i];
                        }//end for
                        printId = int.Parse(pId);
                        printId++;
                        pId = "";
                        switch (printId.ToString().Length)
                        {
                            case 1:
                                pId = "000" + printId.ToString();
                                break;
                            case 2:
                                pId = "00" + printId.ToString();
                                break;
                            case 3:
                                pId = "0" + printId.ToString();
                                break;
                            case 4:
                                pId = printId.ToString();
                                break;
                        }
                    }
                    else
                    {
                        pId = "0001";
                    }                    
                }//end using cmd
            }//end using con
            return ("Print" + (Convert.ToInt32(DateTime.Now.Year) % 100).ToString() + pId);
        }//end GetPrintIdMaxPlusOne()
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#是一种面向对象的编程语言,可以用于编写各种的应用程序,包括与Modbus协议相关的应用程序。Mod是一种通信协议,用于在不同设备之间进行数据传输和通信。 在C#编写Modbus协议的应用程序,你可以使用第三方库或者自己实现Modbus协议的通信功能。以下是一个简单的示例,展示了如何使用第三方库NModbus来编写C#应用程序与Modbus设备进行通信: 1. 首先,你需要在C#项目中引入NModbus库。你可以通过NuGet包管理器来安装NModbus库。 2. 创建一个Modbus主站(Master)对象,用于与Modbus设备进行通信。可以使用TcpClient或SerialPort等类来创建连接。 3. 使用Modbus主站对象来读取或写入Modbus设备的寄存器或线圈。例如,可以使用ReadHoldingRegisters方法来读取Modbus设备的保持寄存器。 下面是一个简单的示例代码: ```csharp using System; using System.Net.Sockets; using Modbus.Device; class Program { static void Main() { // 创建TCP连接 TcpClient client = new TcpClient("127.0.0.1", 502); ModbusIpMaster master = ModbusIpMaster.CreateIp(client); // 读取保持寄存器 ushort startAddress = 0; ushort[] registers = master.ReadHoldingRegisters(1, startAddress, 10); // 打印读取的寄存器值 for (int i = 0; i < registers.Length; i++) { Console.WriteLine($"Register {startAddress + i}: {registers[i]}"); } // 关闭连接 client.Close(); } } ``` 这只是一个简单的示例,你可以根据具体的需求和Modbus设备的要求来编写更复杂的功能。同时,你还可以参考NModbus库的文档和示例代码来了解更多关于C#编写Modbus协议的方法和技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值