using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace SMGe { public partial class Frm自动生成编号 : Form { public Frm自动生成编号() { InitializeComponent(); } private void Frm自动生成编号_Load(object sender, EventArgs e) { clsSql.OpenCn(); MessageBox.Show(Set自动生成编号()); } public static int Cint(object obj) { try { return Convert.ToInt32(obj); } catch { return 0; } } public static string 复制字符(int 数量, string 字符) { string str = ""; for (int i = 1; i <= 数量; i++) { str = str + 字符; } return str; } public static string 编号加1(string str) { int MyLong = 0; int NumStart = 0; int NumLong = 0; string NumStr; str = str.Trim(); MyLong = str.Length; if (MyLong == 0) { return ""; } int j = 0; for (int i = MyLong - 1; i >= 1; i--) { if ((str.Substring(i - 1, 1) == "0" || (Frm自动生成编号.Cint(str.Substring(i - 1, 1)) >= 1 && Frm自动生成编号.Cint(str.Substring(i - 1, 1)) <= 9)) == false) { j = i; break; } } NumStart = j + 1; NumStr = (Frm自动生成编号.Cint(str.Substring(NumStart - 1)) + 1).ToString(); NumLong = MyLong - NumStart + 1; if (NumLong >= NumStr.ToString().Length) { return str.Substring(1 - 1, NumStart - 1) + Frm自动生成编号.复制字符(NumLong - NumStr.ToString().Length, "0") + NumStr; } else { return "溢出"; } } private string Set自动生成编号() { string strSql = "Select max(编号) From 表 Where 编号 like 'ID%' "; string 编号 = clsSql.Find(strSql); if (编号 == "") { 编号 = "ID00001"; } else { 编号 = Frm自动生成编号.编号加1(编号); } return 编号; } } }