 |
|
ระบบกวนท่านเซ๊ยนหน่อยครับ อยากได้โค้ด กดปุ่ม ให้รันเลขที่ใบรับซ่อม +1 นะครับ โดยเอาข้อมุลจากตาราง access |
|
 |
|
|
 |
 |
|
sql = " select max(fix_id) From fix_rep"
http://stackoverflow.com/questions/6984732/t-sql-insert-into-with-max1-in-subquery-doesnt-increment-alternatives
|
 |
 |
 |
 |
Date :
2014-12-09 14:15:53 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
sql = " select max(fix_id) From fix_rep"
โค้ดนี้ ก็ลองแล้วครับ ไม่ได้
|
 |
 |
 |
 |
Date :
2014-12-09 16:22:13 |
By :
tomtooncom |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันฟ้องว่าไงครับ
ลอง MessageBox.Show() ค่าแต่ละช่วงดูว่ามันผิดจากที่เราต้องการตรงจุดไหนครับ
|
 |
 |
 |
 |
Date :
2014-12-09 17:03:02 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันขึ้นแบบนี้ครับ ตามรูป และโค้ด

อันนี้ โค้ดครับ

|
 |
 |
 |
 |
Date :
2014-12-09 19:39:24 |
By :
tomtooncom |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อ้าวก็ถูกแล้วนิครับมีข้อมูลเดียว
|
 |
 |
 |
 |
Date :
2014-12-10 07:47:43 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันไม่รัน เลข ตัวล่าสุดครับ สังเกตที่ ฐานข้อมูล มันมีค่าเป็น 1 แล้วก็ ประเภทลูกค้า เป็น "หน่วยงาน" แล้วผมกรอกข้อมูลใหม่ เป็น "ทั่วไป"
นะครับ ที่massagebox ขึ้น เพราะ ผมใส่ try ไว้ สรุปคือ โปรแกรม มันไม่รัน ครบ ครับ ช่วยหน่อยครับ
|
 |
 |
 |
 |
Date :
2014-12-10 08:46:51 |
By :
tomtooncom |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ประกาศ fix_id มันเป็น 0 แล้วเอา fix_id = fix_id +1 คือ 0+1 มันก็เท่ากับ 1 สิครับ
ไม่มีการแทนค่าของ fix_id เลย
ให้ fix_id = ค่าที่ select มาก่อนสิ แล้วค่อยเอาไปบวก ตามความเห็นที่ 7
|
 |
 |
 |
 |
Date :
2014-12-10 09:17:54 |
By :
zarooman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมก็ลองเขียน ตามท่านนี้แล้วครับไม่ได้

ออกมาแบบนี้

|
 |
 |
 |
 |
Date :
2014-12-10 09:31:09 |
By :
tomtooncom |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตามที่คุณ FONFIRE ละครับ
เพราะไม่มีการรับค่าจาก database มาใช้เลย
SQL ที่คุณได้มามันไม่ผิดที่ผิดคือความรอบคอบต่างหาก
วิธีแก้ปัญหาคือ MessageBox.Show() ค่าแต่ละช่วง
แต่คุณไม่ได้ทำก็เลยไม่รู้ว่าปัญหามาจากไหนแค่นั้นเอง
ใจความสำคัญของปัญหานี้คือ "ความรอบคอบ และ ครอบคลุม" ครับ
สู้ๆ
อ๊อของแถมครับ
Code (C#)
public static System.Data.DataTable GetTableForm(string _SQL, string strConn )
{
System.Data.DataSet ds = new System.Data.DataSet();
case EnumConnectionType.SqlClient:
System.Data.SqlClient.SqlConnection conn3 = new System.Data.SqlClient.SqlConnection(strConn);
conn3.Open();
System.Data.SqlClient.SqlDataAdapter adapter3 = new System.Data.SqlClient.SqlDataAdapter(_SQL, conn3);
adapter3.Fill(ds);
return ds.Tables[0];
}
public static string[] GetData(string field, string table, string strConn )
{
DataTable dt = GetTableForm("Select " + field + " FROM " + table, strConn);
string[] str= new string[dt.Rows.Count];
for (int i = 0;i<dt.Rows.Count;i++)
{
str[i] = dt.Rows[i][field].ToString();
}
return str;
}
public static DataRow GetDataRow(string sql ,string strConn)
{
DataTable dt = GetTableForm(sql, strConn);
return dt.Rows[0];
}
|
 |
 |
 |
 |
Date :
2014-12-10 09:34:22 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตรงคำสั่ง sql เปลี่ยนเป็น
select max(fix_id) as fix_id From fix_rep
|
 |
 |
 |
 |
Date :
2014-12-10 09:34:40 |
By :
fonfire |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับ ขอบคุณมากครับ ไม่ผิดหวังจริงๆครับกับ เว็บนี้
ตรงคำสั่ง sql เปลี่ยนเป็น
select max(fix_id) as fix_id From fix_rep
ขอบคุณทุกท่านมากครับ
ขอบคุณ คุณ FONFIRE มากๆครับ
|
 |
 |
 |
 |
Date :
2014-12-10 09:53:33 |
By :
tomtooncom |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|