 |
|
[.NET]
ต้องการนำจำนวน row คือว่าถ้าผมต้องการนับจำนวน row ที่เรา select ออกมาอะครับ |
|
 |
|
|
 |
 |
|
ได้อย่างก็ต้องเสียอย่าง เลือกเดินบนทางสักทาง ได้ไหม
Code (VB.NET)
1.
2. sqlCount = "select count(*)from Tools"
3.
4.
5. sqlminimum = " Select Tools.Tool_id,Tools.Tool_cost,Tools.Tool_sum,Tools.Lot_id,Tools.Type_id "
6. sqlminimum &= " from Tools INNER JOIN Type_Tools "
7. sqlminimum &= " on Tools.Type_id = Type_Tools.Type_id "
8. sqlminimum &= " where (Tools.Tool_sum < Type_Tools.Minimum) and (Type_Tools.Type_id='" & cmbtype.SelectedValue & "')"
ถ้าอยากเก็บเธอไว้ทั้งสองคน ก็แบบนี้ แต่ผมไม่ชัวร์
Code (VB.NET)
1. sqlminimum = " Select Count(*),
2. Tools.Tool_id,Tools.Tool_cost,Tools.Tool_sum,Tools.Lot_id,Tools.Type_id "
3. sqlminimum &= " from Tools INNER JOIN Type_Tools "
4. sqlminimum &= " on Tools.Type_id = Type_Tools.Type_id "
5. sqlminimum &= " where (Tools.Tool_sum < Type_Tools.Minimum) and (Type_Tools.Type_id='" & cmbtype.SelectedValue & "')"
แนะนำให้ เก็บลง DataTable ก่อนแล้วนับ Rows เอาก็ได้
Code (VB.NET)
|
 |
 |
 |
 |
Date :
2010-01-02 12:51:13 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พอดีผมใช้วิธีนับ row ใน Dataset ไปอะครับ แต่ว่ามันก็ยังฟ้องขึ้นมาอะครับ ไม่เข้าใจว่าฟ้องว่าอะไรอะ
Code (VB.NET)
01. Dim sqlminimum As String = ""
02. Dim iCount2 As Integer = 0
03.
04. sqlminimum = " Select Tools.Tool_id,Tools.Tool_cost,Tools.Tool_sum,Tools.Lot_id,Tools.Type_id "
05. sqlminimum &= " from Tools INNER JOIN Type_Tools "
06. sqlminimum &= " on Tools.Type_id = Type_Tools.Type_id "
07. sqlminimum &= " where (Tools.Tool_sum < Type_Tools.Minimum) and (Type_Tools.Type_id='" & cmbtype.SelectedValue & "')"
08. With Conn
09. If .State = ConnectionState.Open Then .Close()
10. .ConnectionString = strConn
11. .Open()
12. End With
13. comm = New SqlCommand
14. With comm
15. .CommandType = CommandType.Text
16. .CommandText = sqlminimum
17. .Connection = Conn
18. .ExecuteNonQuery()
19. End With
20. da = New SqlDataAdapter(sqlminimum, Conn)
21. da.Fill(ds, "Minimum" )
22. iCount2 = ds.Tables( "Mimimum" ).Rows.Count
มัน Error ว่า Object reference not set to an instance of an object.
ถ้าใช้เป็น DataTable จะต้องพิมพ์ยังไงหรอครับ พอดีผมใช้แต่ DataSet พอจะมาใช้ DataTable แล้วใช้ไม่เป็น
|
 |
 |
 |
 |
Date :
2010-01-02 13:22:34 |
By :
Nameless |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมได้รองหลายๆแบบแล้วแต่ว่าก็ยังไม่ได้อะครับ
Code (VB.NET)
01. sqlminimum = " Select Count(*) ,Tools.Tool_id,Tools.Tool_cost,Tools.Tool_sum,Tools.Lot_id,Tools.Type_id "
02. sqlminimum &= " from Tools INNER JOIN Type_Tools "
03. sqlminimum &= " on Tools.Type_id = Type_Tools.Type_id "
04. sqlminimum &= " where (Tools.Tool_sum < Type_Tools.Minimum) and (Type_Tools.Type_id='" & cmbtype.SelectedValue & "')"
05. With Conn
06. If .State = ConnectionState.Open Then .Close()
07. .ConnectionString = strConn
08. .Open()
09. End With
10. comm = New SqlCommand
11. With comm
12. .CommandType = CommandType.Text
13. .CommandText = sqlminimum
14. .Connection = Conn
15. iCount2 = .ExecuteScalar()
16. End With
Column 'Tools.Tool_id' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.
Column 'Tools.Tool_cost' is invalid in the select list because it is not
Code (VB.NET)
01. sqlminimum = " Select Tools.Tool_id,Tools.Tool_cost,Tools.Tool_sum,Tools.Lot_id,Tools.Type_id "
02. sqlminimum &= " from Tools INNER JOIN Type_Tools "
03. sqlminimum &= " on Tools.Type_id = Type_Tools.Type_id "
04. sqlminimum &= " where (Tools.Tool_sum < Type_Tools.Minimum) and (Type_Tools.Type_id='" & cmbtype.SelectedValue & "')"
05. With Conn
06. If .State = ConnectionState.Open Then .Close()
07. .ConnectionString = strConn
08. .Open()
09. End With
10. comm = New SqlCommand
11. With comm
12. .CommandType = CommandType.Text
13. .CommandText = sqlminimum
14. .Connection = Conn
15. .ExecuteScalar()
16. End With
17. da = New SqlDataAdapter(sqlminimum, Conn)
18. da.Fill(ds, "Minimum" )
19. iCount2 = ds.Tables( "Mimimum" ).Rows.Count
รองเปลี่ยนตัวร้ายแล้วแต่ก็ยังฟ้องเหมือนเดิมอะครับ Object reference not set to an instance of an object.
|
 |
 |
 |
 |
Date :
2010-01-02 14:10:17 |
By :
Nameless |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รู้สึกไม่ต้องใส่นะ
Code (VB.NET)
01. Dim sqlminimum As String
02.
03. sqlminimum = "Select [Tools].[Tool_id], [Tools].[Tool_cost], [Tools].[Tool_sum], [Tools].[Lot_id], [Tools].[pType_id] "
04. sqlminimum &= "From [Tools] Inner Join [Type_Tools] "
05. sqlminimum &= "On [Tools].[Type_id] = [Type_Tools].[Type_id] "
06. sqlminimum &= "Where ([Tools].[Tool_sum] < [Type_Tools].[Minimum]) And ([Type_Tools].[Type_id]=@Type_id)"
07.
08.
09.
10.
11.
12.
13.
14. Dim comm As SqlCommand
15.
16. comm = New SqlCommand(sqlminimum, Conn)
17. comm.Parameters.Add( "@Type_id" , SqlDbType.Int)
18. comm.Parameters( "@Type_id" ).Value = cmbtype.SelectedValue
19.
20.
21.
22.
23.
24.
25.
26.
27. Dim da As SqlDataAdapter
28.
29. da = New SqlDataAdapter(comm)
30. da.Fill(ds, "Minimum" )
31.
32. Dim iCount2 As Integer
33.
34. iCount2 = ds.Tables( "Mimimum" ).Rows.Count
|
 |
 |
 |
 |
Date :
2010-01-02 16:02:50 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มัน Error ตรง
Code (VB.NET)
ว่าแต่ ตรง comm.Parameters.Add("@Type_id", SqlDbType.Int)
SqlDbType.Int
คืออะไรหรอครับ ??
|
 |
 |
 |
 |
Date :
2010-01-02 17:34:02 |
By :
Nameless |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำไมชื่อผมไม่ขึ้นละเนี่ย
|
 |
 |
 |
 |
Date :
2010-01-02 18:10:09 |
By :
Nameless |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาใหม่ ลืมดู type
Code (VB)
01. Dim sqlminimum As String
02.
03. sqlminimum = "Select [Tools].[Tool_id], [Tools].[Tool_cost], [Tools].[Tool_sum], [Tools].[Lot_id], [Tools].[pType_id] "
04. sqlminimum &= "From [Tools] Inner Join [Type_Tools] "
05. sqlminimum &= "On [Tools].[Type_id] = [Type_Tools].[Type_id] "
06. sqlminimum &= "Where ([Tools].[Tool_sum] < [Type_Tools].[Minimum]) And ([Type_Tools].[Type_id]=@Type_id)"
07.
08.
09.
10.
11.
12.
13.
14. Dim comm As SqlCommand
15.
16. comm = New SqlCommand(sqlminimum, Conn)
17. comm.Parameters.Add( "@Type_id" , SqlDbType.NVarChar)
18. comm.Parameters( "@Type_id" ).Value = cmbtype.SelectedValue
19.
20.
21.
22.
23.
24.
25.
26.
27. Dim da As SqlDataAdapter
28.
29. da = New SqlDataAdapter(comm)
30. da.Fill(ds, "Minimum" )
31.
32. Dim iCount2 As Integer
33.
34. iCount2 = ds.Tables( "Mimimum" ).Rows.Count
ส่วนที่ถามว่า SqlDbType คืออะไร ถ้าใช้ Visual Studio ลองเอา mouse ไปวางบน Parameters.Add อยู่แสดงจะพบคำตอบ
|
 |
 |
 |
 |
Date :
2010-01-02 18:48:57 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ครับผม เดี๋ยวผมรองอีกที ยังไงก็ขอบคุณพี่ tungman มากครับ
|
 |
 |
 |
 |
Date :
2010-01-02 20:54:02 |
By :
Nameless |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เป็นคำสอนที่ดีมาก    
|
 |
 |
 |
 |
Date :
2010-07-12 13:51:26 |
By :
เอกลักษณ์ หมื่นเจริญ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองนี่ครับ
iCount2 = Me.BindingContext(ds, "Minimum").Count
|
 |
 |
 |
 |
Date :
2010-07-12 14:21:44 |
By :
noptalent |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|