|
|
|
สร้าง PrimaryKey แบบตัวอักษรตามด้วยตัวเลขแบบรันอัตโนมัติใน SQL SV 2008+ASP.NET C# ยังไงครับ |
|
|
|
|
|
|
|
ไม่แน่ใจว่ามีวิธีที่ดีกว่านี้หรือเปล่า แต่ถ้าเป็นผม ผมจะใช้วิธีการ สร้าง Field มา Field ไว้รันเลข
จากนนั้น Select Max มาเพื่อนเเปลงเป็น String ("00")
สุดท้ายก็นำ String ที่ได้มาต่อ String กับตัวทีต้องการ
|
|
|
|
|
Date :
2011-10-27 19:45:23 |
By :
Cyg |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select right('000'+ convert(varchar(5),isnull(max(courseid),0)+1),3) as courseid from course
or
Code (C#)
string strSql = "SELECT max(right(courseid,5))+1 as id FROM course";
int x;
com = new SqlCommand();
com.CommandType = CommandType.Text;
com.CommandText = strSql;
com.Connection = Conn;
dr = com.ExecuteReader();
DataTable dt = new DataTable();
if (dr.HasRows)
{
dt.Load(dr);
}
dr.Close();
Conn.Close();
try
{
x = Convert.ToInt32(dt.Rows[0]["id"]);
}
catch
{
x = 1;
}
pid = x.ToString("00000");
pid = "C" + pid;
return pid;
|
|
|
|
|
Date :
2011-10-28 17:25:06 |
By :
msorawich |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมใช้วิธีคุณ vbcrazy แล้วเอามาดัดแปลง ตอนนี้สามารถรันได้ดั่งใจแล้วครับ
ขอบคุณมากๆเลยครับ
|
|
|
|
|
Date :
2011-11-02 11:28:05 |
By :
aekarita |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|