想要做一個 insert 時會 輸入流水編號的資料 像這樣 te-0001
所以要下sql 先看之前的流水編號 然後再+1
public static string GetCodeExecute(string column,int count) //column =流水編號的欄位名稱
{
var front = $"TE-{DateTime.Now.Year - 2000:00}";
using (var conn = DBFactory.CreateConnection())
{
var sn = (int)conn.ExecuteScalar(
string.Format(@"SELECT ISNULL(CAST(SUBSTRING(Max({0}), 7, 4) as int), 0) + 1+{1} From BS_Execute_Main WHERE {0} LIKE @Front",
column,count) ,Para("@Front", front + "%"));
return $"{front}{sn:0000}";
}
}
//ISNULL(CAST(SUBSTRING(Max({0}), 7, 4) as int), 0) 因為流水編號有七碼 (te-0001 ) 所以我們要截取數字部分 索引值4~7 所以要SUBSTRING(Max({0}), 7, 4)
CAST(SUBSTRING(Max({0}), 7, 4) as int) 再把 0001 轉換成數字int
ISNULL(,0) 表示如果是null 讓他等於0 (查不到資料的話 就是0)
待續
歡迎高手低手來看看 指教指教 切磋切磋 教學香腸