sql 如何实现编号按指定格式自增 高手,高手!!!员工编号:默认自动生成,可以手动修改;默认生成的格式如下,以BXY开头加6为数字,数字取数据库内最大编号加1。例如:BXY000001 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void button1_Click(object sender, EventArgs e){ string maxid = "BXY000001"; //从库中取出maxid string newid = "BXY" + Convert.ToString((int.Parse(maxid.Substring(3)) + 1)).PadLeft(6, '0'); MessageBox.Show(newid);} select max(convert(int,substring(字段名,4,6)))+1 from 表名 从库中取出maxid后,最好判断一下是否符合截取的条件(前面3位为BXY,后6位可以成功转成int),之后再累加... public string POAutoNewNo(string format) { string strJobYear = DateTime.Today.Year.ToString(); string strJobMonth = DateTime.Today.Month.ToString(); strJobMonth = strJobMonth.PadLeft(2, Convert.ToChar("0")); string order_no = ""; string temp = ""; int TempOrder_no = 0; string selSQLPONO = ""; string PONO = "PO" + strJobYear + strJobMonth; selSQLPONO = "Select top 1 order_no from tb_order_emea where order_no like '%" + PONO + "%' order by order_no DESC"; con = new SqlConnection(DbConnStr()); try { con.Open(); SqlDataReader dr = SqlHelper.ExecuteReader(con, CommandType.Text, selSQLPONO); if (dr.Read()) { if (!dr.IsDBNull(0)) { temp = dr.GetString(0); temp = temp.Replace(PO, ""); TempOrder_no = Convert.ToInt32(temp) + 1; } } else { TempOrder_no = 1; } temp = TempOrder_no.ToString().PadLeft(4, Convert.ToChar("0")); order_no = "PO" + strJobYear + strJobMonth + temp.ToString(); } catch (Exception ex) { return ex.Message.ToString(); } finally { con.Close(); } return order_no; } create proc sp_employees()asdeclare @newId int;beginselect @newId=max(convert(int,substring(员工编号,4,6)))+1 from 员工表 end max(convert(int,substring(字段名,4,6)))+1 谢谢 ,我已经知道了这样最简单CREATE TABLE [dbo].[EmpInfo]( [id] [int] IDENTITY(1,1) NOT NULL, [EmpCode] AS ('BYX'+right('00000'+rtrim([id]),(6))),) 关于在asp.net中用标签A的属性href传递变量到另一个页面的问题 .NET 分页错误 而且只是其中一页出错? 替换字符串的高级问题 提示“未将对象引用设置到对象的实例。” Excel讀入dataset數據丟失的問題! 现在广州,想去上海,大家提提意见 这种现象要如何分页? 如何在一个页面同时做提交数据和跳转页面两个操作? 帮我看看这段代码什么错误(进来的都是高手) 今天公司加班,顺便问几个关于erp的问题。来者有分 关于cookie 制作录音程序,录制格式为flv
private void button1_Click(object sender, EventArgs e)
{
string maxid = "BXY000001"; //从库中取出maxid
string newid = "BXY" + Convert.ToString((int.Parse(maxid.Substring(3)) + 1)).PadLeft(6, '0');
MessageBox.Show(newid);
}
{ string strJobYear = DateTime.Today.Year.ToString();
string strJobMonth = DateTime.Today.Month.ToString();
strJobMonth = strJobMonth.PadLeft(2, Convert.ToChar("0")); string order_no = "";
string temp = ""; int TempOrder_no = 0; string selSQLPONO = ""; string PONO = "PO" + strJobYear + strJobMonth;
selSQLPONO = "Select top 1 order_no from tb_order_emea where order_no like '%" + PONO + "%' order by order_no DESC";
con = new SqlConnection(DbConnStr()); try
{
con.Open();
SqlDataReader dr = SqlHelper.ExecuteReader(con, CommandType.Text, selSQLPONO);
if (dr.Read())
{
if (!dr.IsDBNull(0))
{
temp = dr.GetString(0);
temp = temp.Replace(PO, "");
TempOrder_no = Convert.ToInt32(temp) + 1; } }
else
{
TempOrder_no = 1;
}
temp = TempOrder_no.ToString().PadLeft(4, Convert.ToChar("0"));
order_no = "PO" + strJobYear + strJobMonth + temp.ToString(); }
catch (Exception ex)
{
return ex.Message.ToString();
}
finally
{ con.Close(); } return order_no; }
as
declare @newId int;
begin
select @newId=max(convert(int,substring(员工编号,4,6)))+1 from 员工表
end
这样最简单
CREATE TABLE [dbo].[EmpInfo](
[id] [int] IDENTITY(1,1) NOT NULL,
[EmpCode] AS ('BYX'+right('00000'+rtrim([id]),(6))),
)