คำถามของฉันคือวิธีรับจำนวนแถวที่ส่งคืนโดยแบบสอบถามโดยใช้SqlDataReader
ใน C # ฉันเคยเห็นคำตอบบางอย่างเกี่ยวกับเรื่องนี้ แต่ไม่มีการกำหนดอย่างชัดเจนยกเว้นคำตอบที่ระบุให้ทำ while loop ด้วยRead()
วิธีการและเพิ่มตัวนับ
ปัญหาของฉันคือฉันพยายามเติมอาร์เรย์หลายมิติโดยให้แถวแรกเป็นชื่อส่วนหัวของคอลัมน์และทุกแถวหลังจากนั้นเป็นข้อมูลแถว
ฉันรู้ว่าฉันสามารถถ่ายโอนข้อมูลในตัวควบคุมรายการได้และไม่ต้องกังวลกับมัน แต่เพื่อการแก้ไขส่วนตัวของฉันเองและฉันต้องการดึงข้อมูลเข้าและออกจากอาร์เรย์เมื่อฉันเลือกและแสดงในรูปแบบต่างๆ
ดังนั้นฉันคิดว่าฉันไม่สามารถทำวิธีRead()
เพิ่ม ++ ได้แล้วเพราะนั่นหมายความว่าฉันจะต้องเปิดRead()
แล้วเปิดRead()
อีกครั้งเพื่อรับจำนวนแถวแล้วจึงเป็นข้อมูลคอลัมน์
เป็นเพียงตัวอย่างเล็ก ๆ ของสิ่งที่ฉันกำลังพูดถึง:
int counter = 0;
while (sqlRead.Read())
{
//get rows
counter++
}
จากนั้นสำหรับลูปเพื่อวิ่งผ่านคอลัมน์และป๊อป
something.Read();
int dbFields = sqlRead.FieldCount;
for (int i = 0; i < dbFields; i++)
{
// do stuff to array
}