sb = new StringBuilder();
sb.Append(DateTime.Now.ToString("yyyyMMddHHmm"));
sb.Append("A");
searchcmd = new SqlCommand("select max(OrderFormCode)=@maxid from OrderForm ", con);
con.Open();
searchcmd.Parameters.Add(new SqlParameter("@maxid", cof.OrderFormCode));
reader = searchcmd.ExecuteReader();
if (reader.Read())
{
}
讀取后怎么在原來的基礎上+1啊,然後怎么和我截取出的當前時間合在一起啊
sb.Append(DateTime.Now.ToString("yyyyMMddHHmm"));
sb.Append("A");
searchcmd = new SqlCommand("select max(OrderFormCode)=@maxid from OrderForm ", con);
con.Open();
searchcmd.Parameters.Add(new SqlParameter("@maxid", cof.OrderFormCode));
reader = searchcmd.ExecuteReader();
if (reader.Read())
{
}
讀取后怎么在原來的基礎上+1啊,然後怎么和我截取出的當前時間合在一起啊
new SqlParameter第二个参数是表示sql数据类型的枚举。
且,看代码看不出你的意图……
应该是取数据库里最大的ordercode之后程序里+1吧……searchcmd = new SqlCommand("select max(OrderFormCode) from OrderForm ", con);
con.Open();
int id=Convert.ToInt32(searchcmd.ExecuteScalar());//假设你的OrderCode是int型的,若是其他类型自行修改
con.Close();
inti= Convert.ToInt32(searchcmd.ExecuteScalar())+1;sb.Append(DateTime.Now.ToString("yyyyMMddHHmm"));
sb.Append("A");
sb.Append(i.ToString);
这时你先:原来订单号.Substring(2, 8),取出了20081106赋给变量Date
然后给出当前日期:CurrentData= System.DateTime.Now.ToString("yyyyMMdd");
int num=原来订单号.Substring(10, 5);//原来订单号的号码部分//如果两个日期相等,则要执行原来的号码部分上加一
if (CurrentData.Equals(Date))
{
int k=num+1;
int NewNumber = num.ToString().PadLeft(5, '0');//新订单号的号码部分(如果订单号码部分不足5位补0
新的订单="TR"+CurrentData+NewNumber;}
else
{
订单号="TR"+CurrentData+"00001";
}
sb.Append(DateTime.Now.ToString("yyyyMMddHHmm"));
sb.Append("A");
searchcmd = new SqlCommand("select max(OrderFormCode) from OrderForm ", con);
con.Open();
int i = Convert.ToInt32(searchcmd.ExecuteScalar()) + 1;
sb.Append(i.ToString());我如何把這個生成的訂單號,在textbox中顯示啊,我這個方法是單獨寫在類里的
再儲存進數據庫
//根据表结构自己行修改sql语句
searchcmd.Parameters.Add(new SqlParameter("@nid", 新编号变量));
con.Open();
searchcmd.ExecuteNonQuery();
con.Close();