|
|
|
การเซฟข้อมูล แบบ string ไม่ขึ้นข้อมูล ขึ้นแต่ System.Data.SqlClient.SqlCommand ต้องทำยังไงไห้เป็นข้อมูล |
|
|
|
|
|
|
|
Code (C#)
SqlCommand remark = new SqlCommand("select max(remark) from receive_details", conn);
มันจะ return ออกมาเป็น system.data.sqlclient.sqlcommand ถูกแล้วครับ
ต้องเอามัน Execute ต่อถึงจะได้ค่าออกมา
Code (C#)
object value = new SqlCommand("SELECT MAX(remark) FROM receive_details", conn).ExecuteScaler();
ประมาณนั้น
|
|
|
|
|
Date :
2015-10-01 16:15:50 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เหมือนมันจะต้องใช้ Max นะครับ
|
ประวัติการแก้ไข 2015-10-01 17:00:31
|
|
|
|
Date :
2015-10-01 16:54:15 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
วัตถุประสงค์ คืออะไรครับ
เผื่ออาจจะตอบได้ง่ายกว่านี้
|
|
|
|
|
Date :
2015-10-01 17:01:52 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
conn.Open();
// INSERT INTO receive_details ก่อน
SqlCommand scm = new SqlCommand("INSERT INTO receive_details (remark) values('" + remark5555 + "')", conn);
scm.ExecuteNonQuery();
// return MAX(remark) ออกมา
object value = new SqlCommand("SELECT MAX(remark) FROM receive_details", conn).ExecuteScaler();
// Alerd ดูค่าซะหน่อย
messagebox.show(value.tostring() );
// INSERT INTO stock_incomings อีกที
SqlCommand scm = new SqlCommand("INSERT INTO stock_incomings (remark) values('" + remark + "')", conn);
scm.ExecuteNonQuery();
conn.Close();
ออกตัวก่อนผมไม่ค่อยถนัด SQL นะครับแต่น่าจะประมาณนี้
|
|
|
|
|
Date :
2015-10-01 18:25:55 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือของผมอะ มันมีremark เป็นตัวเลขมาอะครับ คือครั้งแรก ไส่ 1 ต่อไปไส่ 3 ต่อไปไส่ 2 คือ 2 ล่าสุดนะครับ แต่พอ ประกาศไปว่าเอา max ของremark มันก็เอา 3มาแสดงอ่าครับ ต้องทำยังไงถึงจะได้ค่าล่าสุดครับ ของเซล เซลสุดท้ายเซลเดียวเลย T^T น้ำตาจิไหล ดีบัคจนปวดตาละครับ
|
|
|
|
|
Date :
2015-10-01 18:59:51 |
By :
phuriwat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่ม order clause ใน statement
order by PKfield desc ได้ไหมครับ
|
|
|
|
|
Date :
2015-10-02 07:33:43 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยากแท๊น๊ถ้าไม่มี PK แบบนี้
เป็นไปได้ไม๊ครับที่จะ PK ใน table เพื่อให้สะดวกต่อการอ้างอิง
แต่ก็ใช้ว่าจะไม่มีทางครับ
1. ดึงเอา datatable ออกมาใช้
2. return ค่าท้ายสุดของ table
โค้ด datatable แบบบ้านๆ
Code (C#)
public static System.Data.DataTable GetTableForm(string _SQL, string strConn )
{
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(strConn);
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(_SQL, conn);
adapter.Fill(ds);
return ds.Tables[0];
}
โคดใช้งาน แบบบ้านๆ
Code (C#)
System.Data.DataTable dt = GetTableForm("SELECT remark FROM receive_details", connecString);
string _Remark = dt.Rows[dt.Rows.Count - 1][0].ToString();
System.Data.DataTable dt = GetTableForm("INSERT INTO stock_incomings (remark) values('" + remark + "')", connecString);
dt = null;
โค้ดบ้านๆก็น่าจะประมาณนี้ครับ
|
|
|
|
|
Date :
2015-10-02 08:42:25 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตายๆๆ โครงสร้างตาราง detail ไม่มี การอ้างอิง ก่อนหล้ง ผิดหลัก การออกแบบตารางนะครับ
การทำงานจะช้ามากๆ เพราะมันจะทำงานโดยไล่ sequence (ลำดับ) ตั้งแต่ต้นยันท้ายตารางเพื่อจะได้มาซึ่งข้อมูลที่ต้องการ
แม้แต่การลบข้อมูล ถ้าไม่มี index เลย มันหาจากต้นยันท้ายตารางเสมอครับ ถ้าข้อมูลเยอะๆ ตายๆๆๆๆ ตายอย่างเดียว
อย่างน้อย ต้องมี PK 1 ตัว auto increment นะครับ
และมี index ของ วันที่เพิ่มเข้าไปด้วยยิ่งดี
|
|
|
|
|
Date :
2015-10-02 09:10:00 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำครับ ลองเพิ่ม Field เก็บเวลาในการบันทึกไปด้วยครับ เผื่อได้ใช้ครับ
|
|
|
|
|
Date :
2015-10-02 09:20:23 |
By :
Balll2iFFer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มี pk นะครับ
|
|
|
|
|
Date :
2015-10-02 10:02:34 |
By :
phuriwat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไม่ได้เลยครับ ผมอยากได้ข้อมูลล่าสุดอ่าครับ ต้องโค๊ดยังไง ที่บอกมาไม่เข้าใจเลยอะครับ ขอโทษครับ
อันนี้ที่ทำไว้ครับ คือ ดีบัคดูมันก็ ได้ค่า อย่างที่บอก
Code (C#)
object test = new SqlCommand("select max(product_id) from receive_details", conn).ExecuteScalar();
|
ประวัติการแก้ไข 2015-10-02 12:53:57
|
|
|
|
Date :
2015-10-02 12:53:15 |
By :
phuriwat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select max(product_id) from receive_details ===>>> ได้ 6 ก็ถูกแล้วครับ เพราะว่า 6 มากกว่า 5
ถ้าอยากรู้ว่าอันไหนคือตัวล่าสุด ต้องดูยังไงอ่ะครับ
เห็นมี id กับ no มันเกี่ยวไหมครับ
|
|
|
|
|
Date :
2015-10-02 13:16:07 |
By :
fonfire |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวล่าสุด ก็ คือช่องของ id ครับ เป็น pk auto ครับ
|
|
|
|
|
Date :
2015-10-02 13:25:30 |
By :
phuriwat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
public static System.Data.DataTable GetTableForm(string _SQL, string strConn )
{
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(strConn);
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(_SQL, conn);
adapter.Fill(ds);
return ds.Tables[0];
}
Code (C#)
System.Data.DataTable dt = GetTableForm("SELECT remark FROM receive_details", connecString);
string _Remark = dt.Rows[dt.Rows.Count - 1][0].ToString();
System.Data.DataTable dt = GetTableForm("INSERT INTO stock_incomings (remark) values('" + remark + "')", connecString);
dt = null;
|
|
|
|
|
Date :
2015-10-02 13:47:45 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไช่ครับ receive เป็นใบนำเข้าอ่าครับ คือ 1 receive มี product หลาย product ครับ พวกที่เป็น _id คือตารางอื่นครับ id มัน auto ครับ
|
ประวัติการแก้ไข 2015-10-02 15:32:56 2015-10-02 15:53:06
|
|
|
|
Date :
2015-10-02 15:23:26 |
By :
phuriwat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2015-10-02 23:15:23 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|