我是个C#初学者
问题是这样的
现在我有个很简单的查询界面,在这个界面中,我有个添加新数据的功能,那么问题就是我添加的界面中有个textbox控件用来自动生成ID
比如数据库中我查询中最大的编号是Y001,当我点击确定添加按钮后,如果自动生成一个Y002在textbox控件中非常感谢!
在线等各位大侠回答!
问题是这样的
现在我有个很简单的查询界面,在这个界面中,我有个添加新数据的功能,那么问题就是我添加的界面中有个textbox控件用来自动生成ID
比如数据库中我查询中最大的编号是Y001,当我点击确定添加按钮后,如果自动生成一个Y002在textbox控件中非常感谢!
在线等各位大侠回答!
我这个编号是P001,貌似是string类型
怎么自动加1法呢?
求教谢谢
SqlConnection conn = new SqlConnection("server=.;database=HR-System;uid=sa;pwd=123456");
conn.Open();
SqlCommand cmd = new SqlCommand(sql,conn);
cmd.CommandType = CommandType.Text;
string i = Convert.ToString(cmd.ExecuteNonQuery());
int j= Convert.ToInt32((i.Substring(1,3)));
j++;
textBox1.Text = "P" + j;我现在是这样写,不知道合理不合理?
textbox1.Text = SqlCommand.ExecuteScalar() as String;
主要是SqlCommand的Sql语句,可以这样写declare @a varchar(10)
Select @a='Y'+right(('00'+convert(varchar,convert(int,right(max(Id),3))+1)),3) From dbo.Table1
Insert Into dbo.Table1 Values(@a,...,...)
Select @a
你自己在数据库中定义的是什么类型啊 sql = "select popeid=max(popeid) from hr_userpope";
popeid是什么类型的啊,都找到了popeid(可以定义为int),要不然怎么用max()函数啊?向ID什么的最好用INT类型的,可以在定义一个char(n)用于表示你要的那个意思!
conn.open();//conn在前就有定义
sqlcommand cmd=new sqlcommand(sql,conn);
cmd.CommandType = CommandType.Text;
string IDstr = Convert.ToString(cmd.ExecuteNonQuery());
textbox1.text=idstr.substring(0,1)+(convert.int16(idstr.substring(1,idstr.length-1))+1).tostring();
//没有区分大小写,你自己试一下