我有一个网络服务,根据我的数据库分配培训号码
有一行
dates + "1";
此行在日期中添加1
就像27012017
一样270120171
然后我将其转换为int64
newid = Convert.ToInt64(dates);
但现在我想在此
中添加培训师ID所以我用这个
更新了我的行dates ="00"+trainerid +"-"+ dates + "1";
newid = Convert.ToInt64(dates);
错误即将到来输入字符串格式不正确,
我知道这是因为添加了+"-"+
但我想只以这种格式存储数据
我的整个部分看起来像
DateTime dt = DateTime.Now;
string dates = dt.ToString();
dates = dates.Replace("-", "");
dates = dates.Substring(0, 8);
SqlCommand cmdbill = new SqlCommand("select top 1 * from listmybill where bill_id like @trid order by bill_id desc", con);
con.Open();
cmdbill.Parameters.AddWithValue("@trid", "%" + dates + "%");
SqlDataReader dr = cmdbill.ExecuteReader();
while (dr.Read())
{
value = dr["bill_id"].ToString();
}
con.Close();
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmdbill);
DataTable dat = new DataTable();
da.Fill(dat);
if (dat.Rows.Count > 0)
{
newid = Convert.ToInt64(value);
newid = newid + 1;
}
else
{
dates ="00"+trainerid +"-"+ dates + "1";
newid = Convert.ToInt64(dates);
}
con.Close();
我该怎么办,
我想输入001-270120171
这样的数据
如果我将toInt64转换为字符串,
在表格中找到一行时可能会出现问题
if (dat.Rows.Count > 0)
{
newid = Convert.ToInt64(value);
newid = newid + 1;
}
我现在需要做什么?
我想将其存储到我的数据库中
答案 0 :(得分:1)
我几乎认为你不会对这个训练编号字符串进行数学计算。我建议您使用int
语句将数据库中的varchar
转换为alter
。然后,您将能够以您喜欢的任何格式存储培训号码。
答案 1 :(得分:0)
您可以将新ID更改为字符串并执行以下操作
if (dat.Rows.Count > 0)
{
newid = Convert.ToString(Convert.ToInt64(value)+1);
}
else
{
newid="00"+trainerid +"-"+ dates + "1";
}