Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > กำหนดเงื่อนไขไว้แล้วแต่ทำไม การวน loop รอบแรกถึงหลุดเงื่อนไข แนะนำทีครับ ขอบคุณครับ



 

กำหนดเงื่อนไขไว้แล้วแต่ทำไม การวน loop รอบแรกถึงหลุดเงื่อนไข แนะนำทีครับ ขอบคุณครับ

 



Topic : 088797



โพสกระทู้ ( 33 )
บทความ ( 0 )



สถานะออฟไลน์




จากโค๊ดที่ผมเขียนได้ผลลัพธ์ตามภาพนี้

help15

Code (C#)
protected void Button3_Click(object sender, EventArgs e)
    {
        RadioButton RG1 = null;
        if (RadioButton1.Checked == true)
        {
            RG1 = RadioButton1;

            SqlTransaction tr = objConn.BeginTransaction();
            SqlCommand cmd = objConn.CreateCommand();

            int levelseq = 1;
            try
            {
                cmd.CommandType = CommandType.Text;
                cmd.Transaction = tr;
                
                for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
                    {
                        string typeCarbinet = "1";
                        string typeDrawer = "2";
                        string typeFiles = "3";
                        string typeBinder = "4";

                        string chkCabinet = GridView1.Rows[i].Cells[4].Text.Trim();
                        string chkDrawer = GridView1.Rows[i].Cells[5].Text.Trim();
                        string chkFiles = GridView1.Rows[i].Cells[6].Text.Trim();
                        string chkBinder = GridView1.Rows[i].Cells[7].Text.Trim();

                        if (i >= 0)
                        {
                            bool testchk = false;
                            for (int c = 0; c < i; c++) //###Check Cabinet###
                                if (GridView1.Rows[i].Cells[4].Text.Trim() == GridView1.Rows[c].Cells[4].Text.Trim())
                                {
                                    testchk = true;
                                }
                            if (testchk == false)
                            {
                                cmd.CommandText = "Insert Into DIP_LEVEL2(LEVEL_SEQ,LEVEL_TYPE,LEVEL_NAME)" + " values ('" + levelseq + "','" + typeCarbinet + "','" + chkCabinet + "')";
                                cmd.ExecuteNonQuery();
                                levelseq++;
                            }
                        }
                        if (i >= 0)
                        {
                            bool testchk = false;
                            for (int d = 0; d < i; d++) //###Check Drawer###
                                if (GridView1.Rows[i].Cells[5].Text.Trim() == GridView1.Rows[d].Cells[5].Text.Trim())
                                {
                                    testchk = true;
                                }
                            if (testchk == false)
                            {
                                cmd.CommandText = "Insert Into DIP_LEVEL2(LEVEL_SEQ,LEVEL_TYPE,LEVEL_NAME)" + " values ('" + levelseq + "','" + typeDrawer + "','" + chkDrawer + "')";
                                cmd.ExecuteNonQuery();
                                levelseq++;
                            }
                        }
                        if (i >= 0)
                        {
                            bool testchk = false;
                            for (int f = 0; f < i; f++) //###Check Files###
                                if (GridView1.Rows[i].Cells[6].Text.Trim() == GridView1.Rows[f].Cells[6].Text.Trim() && GridView1.Rows[i].Cells[6].Text.Trim() == GridView1.Rows[f].Cells[6].Text.Trim())
                                {
                                    testchk = true;
                                }
                            if (testchk == false)
                            {
                                cmd.CommandText = "Insert Into DIP_LEVEL2(LEVEL_SEQ,LEVEL_TYPE,LEVEL_NAME)" + " values ('" + levelseq + "','" + typeFiles + "','" + chkFiles + "')";
                                cmd.ExecuteNonQuery();
                                levelseq++;
                            }
                        }
                        if (i >= 0)
                        {
                            bool testchk = false;
                            for (int b = 0; b < i; b++) //###Check Binder###
                                if (GridView1.Rows[i].Cells[7].Text.Trim() == GridView1.Rows.Cells[7].Text.Trim())
                                {
                                    testchk = true;
                                }
                           if (testchk == false)
                            {
                                if(GridView1.Rows[i].Cells[7].Text.Trim() != "") //เช็คเงื่อนไขว่าต้องไม่เป็นค่าว่างถึงจะทำ
                                {
                                cmd.CommandText = "Insert Into DIP_LEVEL2(LEVEL_SEQ,LEVEL_TYPE,LEVEL_NAME)" + " values ('" + levelseq + "','" + typeBinder + "','" + chkBinder + "')";
                                cmd.ExecuteNonQuery();
                                levelseq++;
                                }
                            }
                        }
                    }
                    
                    tr.Commit();
                    Label4.Text = "บันทึกข้อมูลเรียบร้อย";
            }
            catch (SqlException ex)
            {
                tr.Rollback();
                Label2.Text = "Error - TRANSACTION ROLLED BACK\n" + ex.Message;
            }
            catch (Exception ex)
            {
                tr.Rollback();
                Label2.Text = "System Error\n" + ex.Message;
            }
            finally
            {
                objConn.Close();
                tr.Dispose();
            }
        }


ผมสงสัยว่าจากโค๊ดที่ผมเขียนในบรรทัดที่"048"ได้กำหนดเงื่อนไขไว้แล้วว่าต้องไม่เป็นค่าว่างถึงจะ insert db แล้วทุกๆแถวก็เข้าเงื่อนไข แต่ทำไมแถวแรก( i=0 )ถึง insert db ละครับ ผมงงครับ รบกวนท่านผู้รู้แนะนำทีครับ ผมพลาดตรงไหนไปรึปล่าวครับ ขอบคุณครับ



Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), C#, Windows









ประวัติการแก้ไข
2013-01-04 13:59:54
2013-01-04 14:01:00
2013-01-04 14:04:23
2013-01-04 14:05:11
2013-01-04 14:05:23
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-01-04 13:59:08 By : SponG_Gy View : 1018 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลองเปลี่ยนรุปแบบคำถามใหม่ครับ ดูแล้ว if ซับซ้อน ไล่ยากหน่อยครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-07 17:25:38 By : mr.win
 


 

No. 2



โพสกระทู้ ( 33 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ พี่วิน ผมลองแก้ๆได้แล้วครับ ขอบคุณที่แนะนำครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-08 11:42:12 By : SponG_Gy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : กำหนดเงื่อนไขไว้แล้วแต่ทำไม การวน loop รอบแรกถึงหลุดเงื่อนไข แนะนำทีครับ ขอบคุณครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่