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 > สอบถาม บันทึกลงฐานข้อมูล 1 Field จาก Table ลงอีก Table หลาย ๆ Field



 

สอบถาม บันทึกลงฐานข้อมูล 1 Field จาก Table ลงอีก Table หลาย ๆ Field

 



Topic : 099028



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



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




Inknew

- ผมดึงข้อมููลจาก Table Ink : โดยมี Field ดังนี้ InkID, InkName , InkPrice มาแสดงใน Combobox ตามภาพได้แล้ว เมื่อเลือกชื่อหมึก ก็จะแสดงราคาหมึก

คำถาม

ผมต้องการเก็บค่า InkID กับ Ink Price ยังไงครับโดยลง Table อีก Table ชื่อ DetialPrinter โดยเก็บทั้งหมด 5 ค่า

ตัวอย่าง Code ที่ผมเขียนบันทึกลงฐานข้อมูล Table อื่น

Code (VB.NET)
tr = Conn.BeginTransaction()
            Try
                sb = New StringBuilder()
                sb.Append("INSERT INTO TotalPrint(DateSavePrint,EmployeeID,Fullname,DepID,SerialNo,QtyBW,QtyColor,PBW,PColor,Total)")
                sb.Append(" VALUES (@DateSavePrint,@EmployeeID,@Fullname,@DepID,@SerialNo,@QtyBW,@QtyColor,@PBW,@PColor,@Total)")
                Dim sqlAdd As String
                sqlAdd = sb.ToString()
                MsgBox(sqlAdd)

                With com
                    .CommandText = sqlAdd
                    .CommandType = CommandType.Text
                    .Connection = Conn
                    .Transaction = tr
                    .Parameters.Clear()
                    .Parameters.Add("@DateSavePrint", SqlDbType.DateTime).Value = dtpSavePrint.Value.ToShortDateString
                    .Parameters.Add("@EmployeeID", SqlDbType.NVarChar).Value = txtEmployeeID.Text.Trim()
                    .Parameters.Add("@Fullname", SqlDbType.NVarChar).Value = txtFullName.Text.Trim()
                    .Parameters.Add("@DepID", SqlDbType.NVarChar).Value = txtDepartment.Text.Trim()
                    .Parameters.Add("@SerialNo", SqlDbType.NVarChar).Value = CStr(cboNamePrint.SelectedValue)
                    .Parameters.Add("@QtyBW", SqlDbType.Int).Value = Int(txtQtyBW.Text.Trim())
                    .Parameters.Add("@QtyColor", SqlDbType.Int).Value = Int(txtQtyColor.Text.Trim())
                    .Parameters.Add("@PBW", SqlDbType.Float).Value = CSng(txtPriceBW.Text.Trim()).ToString.Trim(CChar("#,###.00"))
                    .Parameters.Add("@PColor", SqlDbType.Float).Value = CSng(txtPriceColor.Text.Trim()).ToString.Trim(CChar("#,###.00"))
                    .Parameters.Add("@Total", SqlDbType.Float).Value = CSng(txtNetPrice.Text.Trim()).ToString.Trim(CChar("#,###.00"))
                    .ExecuteNonQuery()
                End With
                tr.Commit()
                MessageBox.Show("เพิ่มข้อมูลรายละเอียดการพิมพ์ของพนักงานใหม่ลงฐานข้อมูล เรียบร้อยแล้ว !!!", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
                ClearAllData()
                ShowData()
                FormatDgvprintList()
            Catch ex As Exception
                MessageBox.Show("ตรวจสอบข้อมูลที่ป้อน !!!", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                tr.Rollback()
            End Try
        End If




Tag : .NET, Ms SQL Server 2008, VBScript









ประวัติการแก้ไข
2013-08-13 10:28:15
2013-08-13 11:43:18
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-08-13 10:27:09 By : ih4cK View : 1216 Reply : 7
 

 

No. 1

Guest


Quote:
ผมต้องการเก็บค่า InkID กับ Ink Price ยังไงครับโดยลง Table อีก Table ชื่อ DetialPrinter โดยเก็บทั้งหมด 5 ค่า


- แทรกคำสั่ง insert DetialPrinter ใน try catch อีกคำสั่งสิ มี 5 อันสั่ง 5 ทีก็ได้ หรือจะวนลูปก็ไม่ว่ากัน

ปล. ทำไม datetime เก็บเป็น string ???






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-13 16:25:39 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2013-08-13 16:25:39
รายละเอียดของการตอบ ::
ต้องเก็บทั้งหมด 5 ครั้งหรอครับ แบบประมาณนี้ SerialNo,Name,...,Ink1 > SerialNo,Name,...,Ink2 > SerialNo,Name,...,Ink3 > SerialNo,Name,...,Ink4 , SerialNo,Name,...,Ink5 หรอครับโดยใช้ PK เป็น InkID ใช่ป่ะครับ? ในความหมายของคุณ

มีวิธีอื่นมั้ยครับ ถ้าเป็นแบบด้านบนที่ว่า

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-13 18:38:45 By : ih4cK
 

 

No. 3

Guest


ตามของนายก็ได้

แต่ถ้าเราออกแบบเราจะไม่ทำแบบนั้น

เราจะมีแค่

InkID - PK

Ink Price

ColorID - FK

PrinterID - FK

ReplaceDate

ซึ่งการเปลี่ยนแต่ละครั้งสามารถเปลี่ยนทีละตลับได้ แยกกันข้อมูลใครข้อมูลมัน

ส่วนสถานะตลับหมึกที่ใช้ ณ ปัจจุบันหาจาก ColorID กับ ReplaceDate ล่าสุด

ข้อดีอีกข้อคือ ถ้าใช้ตลับหมึกไม่ถึง 5 ตลับ เราก็ไม่ต้องเก็บถึง 5 column

ใช้ 1 ตลับ ก็เก็บแค่ record เดียว แล้วยังสามารถค้นประวัติการเปลี่ยนหมึกย้อนหลังได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-14 08:20:09 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 4



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



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


ผมแค่เก็บรายละเอียดอ่ะครับ ว่าเครื่องนี้ใช้หมึกอะไรมั้ง ใครดูแล .... , ไม่เกี่ยวกับการเปลี่ยนหรืออะไร มันจะมีอีกส่วนนึง

แต่ทีนี้ ถ้าผมเก็บหมึก 4 อย่าง ใน 1 เครื่องผมต้องเก็บทั้งหมด 4 Record ใช่ป่ะครับโดย 4 Record จะประกอบไปด้วยข้อมูลทั้งหมดเลย

คำถาม ถ้าผมจะทำการ Search ข้อมูล มีวิธีไหนครับ ที่แสดงค่าทั้งหมด 4 Record ภายในครั้งเดียว เหมือนตอนกรอกข้อมูล
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-14 09:38:44 By : ih4cK
 


 

No. 5

Guest


นี่แหละน้า มันถึงมีข้อแตกต่างระหว่างโปรกับมือใหม่

เราขี้เกียจอธิบายแล้วล่ะ บ้ายบาย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-14 11:12:11 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 5 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2013-08-14 11:12:11
รายละเอียดของการตอบ ::
ผมว่าคุณอธิบายไปตรงกับคำถามของเขามากกว่านะครับ


ตอนเก็บไม่มีปัญหาหรอกครับ แต่จะมีปัญหาใน กรณี Update & Search แน่ ๆ ลองคิดในการ Search ข้อมูลมันจะดึงมาทั้งหมด 4 ค่า และ Update จะเพี้ยน ๆ ผมแนะนำเก็บใส่ Table เดียวไปเลยการสร้าง Field Ink 4 ตัว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-14 15:11:22 By : Beginner
 


 

No. 7

Guest


ตอบความคิดเห็นที่ : 6 เขียนโดย : Beginner เมื่อวันที่ 2013-08-14 15:11:22
รายละเอียดของการตอบ ::
ไม่ใช่ไม่ตรงหรอก แค่เราคิดลึกไปกว่านั้นอีกขั้นนึงแค่นั้นเอง

เราคิดว่าไม่จำเป็นต้อง update ตาราง ink ควรจะใช้ insert

ink ไปเรื่อยๆ จะได้สามารถ search ประวิติการเปลี่ยนหมึกได้

ส่วนการ search ก็ใช้ where ปกติโดยไม่ต้อง join เลยไม่เห็นว่ามันจะไปเพิ้ยนตรงไหน

ซึ่งทำแบบนี้ก็ทำแค่ตารางเดียวสามารถดู info ได้หมด ไม่จำเป็นต้องไปเขียนอีกส่วนนึงเพิ่ม (อ้างอิงจาก No.4)

ลองอ่านที่เราอธิบายดูดีๆ ที่นายว่าเราตอบไม่ตรงคำถาม ก็คงใช่ เพราะถ้าทำตามแบบของเรา

มันต้องแก้ถึงการออกแบบ database เลย ซึ่งนั่นแหละคือปัญหาที่แท้จริง

ปล. ตามความคิดของเราออกแบบ database ดีๆ ทำให้เขียนโปรแกรมง่ายขึ้น 75%

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-14 16:00:55 By : ห้ามตอบเกินวันละ 2 กระทู้
 

   

ค้นหาข้อมูล


   
 

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