如何通过C#实现单据号码的自动增加。

下面,我给出一段代码。里面具有完整的注释。

using System;

namespace BaseLayer
{
 ///
 /// 单据编号,产生自增编号,如:入参为"DJ000002",将返回"DJ000003"
 ///
 public class SheetNumber
 {
  ///
  /// 单据编号,产生自增编号,如:入参为"DJ000002",将返回"DJ000003"
  ///
  /// 原值
  /// 下一值
  public string NextNumber(string BaseNumber)
  {
   string NewNumber = "";//新值
   int InNumber = 1;//进位
   int PlaceValue;//位值
   char[] No = BaseNumber.ToCharArray();
   
   for(int i=BaseNumber.Length-1;i>=0;i--)
   {
    if(No[i]=='9' && InNumber==1)
    {
     InNumber=1;
     NewNumber="0"+NewNumber;
    }
    else
     if(InNumber==1 && No[i]>='0' && No[i]<'9')
    {
     PlaceValue=Int32.Parse(No[i].ToString());
     PlaceValue=(InNumber+PlaceValue);
     InNumber=0;
     NewNumber=PlaceValue.ToString()+NewNumber;
    }
    else
    {
     InNumber=0;
     NewNumber=No[i]+NewNumber;
    }
   }
   if(BaseNumber==NewNumber)
    NewNumber="0000000001";
   return NewNumber;
  }
 }
}

OK。如果以后遇到要自己追加单据号码的话。这一段代码应该可能实现你的要求了吧?'

时间: 2024-08-03 15:27:58

如何通过C#实现单据号码的自动增加。的相关文章

I9300拨打电话输入号码前面自动加入数字怎么取消

现象图:输入号码前面自动加入区号     1.在待机模式下,点击[手机].     2.按[菜单]键,再点击[通话设定].     3.点击[其它设置].     4.点击[自动区域代码],显示灰色代表关闭.  

如何自动增加和从代码读取Xcode项目的版本号

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) Xcode项目和版本号相关的有2个地方Version和Build: 如果需要自动更新版本号有2种方法,都需要写脚本. 一种是用Xcode帮你做好的工具,脚本如下: xcrun agvtool next-version -all 希望进一步了解详情的童鞋可以移步到以下2个地址中查看细节: 使用agvtool 自动化操作version and Build Numb

数据库表中的nvarchar字段自动增加一些内容

问题描述 数据库表中的nvarchar字段自动增加一些内容 我的sqlserver2008r数据库表的有些navarchar数据自动增加一些内容 <style>.a29m{position:absolute;clip:rect(437px,auto,auto,480px);}</style><div class=a29m><a href=http://buyviag ,急解决,谢谢 解决方案 目测你网站挨别人黑了,加了黑链..检查漏洞吧 解决方案二: 数据怎么会自

jQuery表格自动增加

jQuery表格自动增加 点击上一个单元格里面的文本框,下面会自动增加一行. <!DOCTYPE html> <html dir="ltr" lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width" /> <

如何在Oracle 中实现类似自动增加 ID 的功能?

oracle 我们经常在设计数据库的时候用一个系统自动分配的ID来作为我们的主键,但是在ORACLE 中没有这样的     功能,我们可以通过采取以下的功能实现自动增加ID的功能     1.首先创建 sequence         create sequence seqmax increment by 1     2.使用方法       select seqmax.nextval ID from dual       就得到了一个ID       如果把这个语句放在 触发器中,就可以实现 

解决MySQL 5.0不能使用自动增加字段问题

问题:MySQL 5.0不能使用自动增加字段. 具体原因: 引起的原因是在MySQL5.0.2版本中的The Server SQL Mode 中新加了几种 sql_mode,并且在sql的my.ini文件中的sql-mode 默认增加了其中的二种,一个是STRICT_TRANS_TABLES,就是导致auto_increament失败的mode,这个sql_mode主要用于当一个值不能插入到表中是,则产生一个错误而不是一个警告并终止会话. 解决办法: 删除这个sql_mode.重启mysql.

JS实现点击按钮自动增加一个单元格的方法

 这篇文章主要介绍了JS实现点击按钮自动增加一个单元格的方法,实例分析了javascript操作表格单元格的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS实现点击按钮自动增加一个单元格的方法.分享给大家供大家参考.具体分析如下: 这是一个网页在线自助生成表格的特效代码. 核心功能代码是JS实现,点击网页中的添加按钮,网页中自动增加一个单元格   代码如下: <HTML> <HEAD> <TITLE>js动态生成表格</TITLE>

sql-SQL2008 几乎每个表每天自动增加_mask_from_v2字段,并建立索引。

问题描述 SQL2008 几乎每个表每天自动增加_mask_from_v2字段,并建立索引. SQL2008 几乎每个表每天自动增加_mask_from_v2字段,并建立索引,导致系统报错.将其删除后第二天又出现,无法找到原因,请大神出招解决! 解决方案 表列是不能重复的 不可能 每天都增加 mask_from_v2 字段 解决方案二: 是删除后,又自动生成出来,,不删除不会增加.. 解决方案三: 你的数据库有没有设置同步或触发器,比如使用了syncnavigator或者workbench等工具

mysql插入数据时失败但是主键id自动增加了一该如何解决

问题描述 mysql插入数据时失败但是主键id自动增加了一该如何解决 插入时因重复导致插入失败会导致id自增,第二次插入其它数据时会在会变成id加了两次的情况 解决方案 配置一下事务,如果出现异常情况则数据库进行回滚 解决方案二: 重复是指别的字段重复了是吧 解决方案三: 1.在保存前要有数据的正确性校验处理 2.插入数据操作改成存储过程,检查是否有重复 解决方案四: 建议使用事务来进行持久化的处理,这样可能就不会出错了.希望对你有用 解决方案五: 自增是这样的,,如果失败回自动加一,,但数据不