C#指定字符串作为数据库自动增长列的代码

using System;
using System.Collections.Generic;

using System.Text;

using System.Data.SqlClient;

using System.Windows.Forms;



namespace HULUWA.DAL

{

    /********************************************************************************************************

     * 方法设计思路:

     * 在数据库中新建一张表,用来存放指定自动增长列的格式,数据库中重要的三个字段为

     * 前缀,中间自动增长,后缀

     * (三者可以自定义位置或者任选组合,但是必须要有一个是纯数字组成的字符串,字符也可以,但是我写的这个方法无法实现,需要修改)

     * 现在number就是我们需要增长的那个字符串

     * 用substring截取,从第一个不是的数字截取到最后并且转换成数字用于和step做加法运算

     * 运算完毕之后重新组装成一个新的字符串存入数据库中用于下载调用

     * 返回新组装的字符串

     * *****************************************************************************************************/

    class huluwa

    {

         /// <summary>

       /// 设置字符串Fid自动增长

       /// </summary>

       /// <param name="fid"></param>

       /// <returns></returns>

       private string AutoStringFId(string fid)

       {

           int step = 1;//设置自动增长量为1

           string strFid = "";

           //思路,从第一个不是的数字截取到最后一位

           string number = fid;

           char[] ch = new char[9] { '1', '2', '3', '4', '5', '6', '7', '8', '9' };//将除了0以外的所有数字放入字符数组

           int a = number.IndexOfAny(ch);//获得第一个不是0的字符串索引位置

           int count_0 = number.Substring(0, a).Length;//截取出前面所有的0的个数

           int length = number.Length - count_0;//获得从第一个不是0的数字开始到最后的长度

           int num = int.Parse(number.Substring(count_0, length));//将这个字符串转换成数字便于加法运算

           num += step;//根据预先设置好的步长开始加法运算



           length = num.ToString().Length;//获得运算过之后数字的长度并重新赋值给length(这里也可以重新定一个变量)

           count_0 = number.Length - length;//获得运算后的个数,用字符串number的长度减去运算之后数字的长度

           string befor_0 = "";//初始前面的循环加入字符串

           for (int i = 0; i < count_0; i++)//如果count_0小于0的话就不会循环

           {

               befor_0 = befor_0 + "" + 0;

           }

           number = befor_0 + num.ToString();//重新赋值

           strFid = number;

           return strFid;

       }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值