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,037

HOME > .NET Framework > Forum > สอบถาม วิธีการเพิมข้อมูลจาก Checklistbox ให้มัน insert เป็น Multi Row มีรูปตัวอย่างด้านในครับ



 

สอบถาม วิธีการเพิมข้อมูลจาก Checklistbox ให้มัน insert เป็น Multi Row มีรูปตัวอย่างด้านในครับ

 



Topic : 112965



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



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




ความต้องการคือ เมือมีการเลือกข้อมูลจาก Checklistbox หนึ่งอันหรือหลายๆ อัน
ให้มันทำการInsert ในรูปแบบ Multi Row จะมีวิธีทำไหมครับ?

แสดงการเลือก

TEST

ผลลัพธ์

TEST2


จากโค้ดดังกล่าวนี้

Code (C#)
            string checkedItem = checkedListBox2.CheckedItems.ToString();
            string IDService = txtServiceID.Text;

            string query = "INSERT INTO tblRepartCase(ID_Repair,IDService)VALUES(@checkedItem,@IDService)";
            SqlCommand InsertCommand = new SqlCommand(query, DB.conn);
            InsertCommand.Connection = DB.conn;
            InsertCommand.Parameters.AddWithValue(@"checkedItem", checkedItem);
            InsertCommand.Parameters.AddWithValue(@"IDService", IDService);
            InsertCommand.ExecuteNonQuery();
            MessageBox.Show("บันทึกฐานข้อมูลซ่อมเรียบร้อย");
            DB.conn.Close();


Errror แบบนี้
Error

ผมต้องเขียนในรูปแบบไหนครับถึงจะได้ผลลัพธ์ตามที่ต้องการ
รบกวนผู้รู้ทั้งหลายหน่อย



Tag : C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-30 16:45:45 By : yAZa View : 1301 Reply : 4
 

 

No. 1



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

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

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

Error นี้เกิดจาก ขนาดของข้อมูลใหญ่กว่า Size ที่จะจัดเก็บครับ เช่นกำหนด Varchar(100) แต่ Insert มากกว่า 101 เป็นต้นไป






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-30 16:52:58 By : mr.win
 


 

No. 2



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



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


จากตัวอย่างโค้ดนี้

Code (C#)
             string IDService = txtServiceID.Text;
             string checkedItem = "";

             foreach (DataRowView drv in checkedListBox2.CheckedItems)
             {
                 checkedItem += drv[0].ToString() + ",";
             }
             checkedItem = checkedItem.TrimEnd(',');

            string query = "INSERT INTO tblRepartCase(ID_Repair,IDService)VALUES(@checkedItem,@IDService)";
            SqlCommand InsertCommand = new SqlCommand(query, DB.conn);
            InsertCommand.Connection = DB.conn;
            InsertCommand.Parameters.AddWithValue(@"checkedItem", checkedItem);
            InsertCommand.Parameters.AddWithValue(@"IDService", IDService);
            InsertCommand.ExecuteNonQuery();

ผมทำการ Insrt ได้แล้ว

ch

แต่ผมต้องการให้มัน insert multi row หากมีการ check 2 อย่าง ให้มัน insert 2 ครั้ง
ต้องการให้มันเก็บแบบในรูปนี้อ่ะครับ

cho


ประวัติการแก้ไข
2014-11-30 17:39:12
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-30 17:38:37 By : yAZa
 

 

No. 3



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

เหมือนมันจะติดจาก SQL อ่าครับ
เพราะมันดันเอา 1 กะ 3 มายุด้วยกัน
ไอ้ผมก็ไม่เก่ง SQL ซะด้วย
แต่ถ้าให้แก้ปํญหาแบบหน้าด้านๆ(เฉพาะหน้า)ก่อนผมก็็คงจะ เอา Insert ไปไว้ใน foreach
รึไม่ก็ทำ SQL ให้ได้ แบบนี้

Code
insert into table1 (First,Last) values ('Fred','Smith'), ('John','Smith'), ('Michael','Smith'), ('Robert','Smith');

(ลอกเค้ามา)
เพราะไม่มีความความรู้เลยว่า
ไอ้เจ้า

Code
InsertCommand.Parameters.AddWithValue กะ string query = "INSERT INTO tblRepartCase(ID_Repair,IDService)VALUES(@checkedItem,@IDService)"

มันเพิ่มได้ทีละเยอะๆป่าว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-30 19:32:39 By : lamaka.tor
 


 

No. 4



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



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

วิธีที่ 1 ทำตามความเห็นที่ 3 คือ จับไปใส่ใน For เลย

วิธีที่สองทำการ Insert แบบ Multirow ตามนี้
คุณต้องเอา query ไปไว้ใน for

Code (C#)
 string IDService = txtServiceID.Text;
 string checkedItem = "";
string query = "INSERT INTO tblRepartCase(ID_Repair,IDService)VALUES";
int count = 0;
 foreach (DataRowView drv in checkedListBox2.CheckedItems)
 {
     checkedItem = drv[0].ToString():
     count += 1;
     if (count==1){
        query = query + "(@checkedItem,@IDService)";
     }else{
        query = query + ",(@checkedItem,@IDService)";
     }
 }

SqlCommand InsertCommand = new SqlCommand(query, DB.conn);
InsertCommand.Connection = DB.conn;
InsertCommand.Parameters.AddWithValue(@"checkedItem", checkedItem);
InsertCommand.Parameters.AddWithValue(@"IDService", IDService);
InsertCommand.ExecuteNonQuery();



จากโค้ดข้างบนมันจะได้คำสั่งมาประมาณนี้
Code (SQL)
INSERT INTO tblRepartCase(ID_Repair,IDService)
VALUES (ซ่อมทั่วไป, 1000),
    (กำจัดไวรัส, 1000)


ปล.ผมไม่แน่ใจว่า sql server ถ้าเป็นข้อความเราต้องครอบด้วย ' หรือ ฟันเดี่ยวรึป่าว ถ้าครอบก็ใส่ได้เลยครับ
โค้ดอาจบักครับผมด้นสด C# ไม่เก่งแต่ตามนี้แหละครับจะได้ข้อความ Insert แบบมัลติ


ประวัติการแก้ไข
2014-12-02 08:45:18
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-02 08:40:52 By : zarooman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถาม วิธีการเพิมข้อมูลจาก Checklistbox ให้มัน insert เป็น Multi Row มีรูปตัวอย่างด้านในครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่