ระบบกวนท่านเซ๊ยนหน่อยครับ อยากได้โค้ด กดปุ่ม ให้รันเลขที่ใบรับซ่อม +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
Load balance : Server 04