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 > ต้องการบันทึกข้อมูลที่แสดงเป็น Name แต่บันทึกเป็น ID ยังไงคะ



 

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

 



Topic : 054580



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



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



ต้องการบันทึกข้อมูลที่ดึงมาจากตาราง ข้อมูลลูกค้า แสดงใน datagrid เป็น ชื่อ คือ ฟิลด์ Name
แต่อยากจะให้บันทึกเป็นรหัสอ่าค่ะ ฟิลด์ ID ต้องเขียนโค้ดยังไงคะ
เท่าที่อ่านๆมา บอกว่าต้อง select หรอค่ะ แล้วจะ select ยังไงดี ลองมาหลายแบบแล้ว ก็ยังบันทึกเป็นชื่ออยู่ดี

ด้านล่างนี้โค้ดบันทึกที่ใช้อยู่ค่ะ

Code (VB.NET)
If CBool(MessageBox.Show("บันทึกใช่หรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = DialogResult.Yes) Then

            Conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Database passport\Passport.accdb;")
            Conn.Open()
            Try

                For i As Integer = 0 To dgvPassenger2.Rows.Count - 1
                    Dim sql As String
                    sql = "SELECT Passenger_ID FROM Passenger"
                    sql &= "WHERE F_Name='" & dgvPassenger2.Rows(i).Cells(3).Value.ToString & "', L_Name='" & dgvPassenger2.Rows(i).Cells(2).Value.ToString & "'"
                    '" & dgvPassenger2.Rows(i).Cells(3).Value.ToString & "')"

                    sql = "INSERT INTO [VisaSaleCard] ([SaleCard_No],[Customer],[Agent],[Embassy],[DateofIssue],[Note],[ServiceFee],[Totalcost],[Sale],[working_day],[Entries],[Valid_date],[[color=pink]Passenger_ID]) VALUES (@SaleCard_No,@Customer,@Agent,@Embassy,@DateofIssue,@Note,@ServiceFee,@Totalcost,@Sale,@working_day,@Entries,@Valid_date,@Passenger_ID)"
                    Dim cm As New OleDbCommand(sql, Conn)
                    cm.Parameters.AddWithValue("@SaleCard_No", tbxNo.Text)
                    cm.Parameters.AddWithValue("@Customer", cbCustomer.Text)
                    cm.Parameters.AddWithValue("@Agent", cbAgent.Text)
                    cm.Parameters.AddWithValue("@Embassy", cbEmbassy.Text)
                    cm.Parameters.AddWithValue("@DateofIssue", dtDate.Text)
                    cm.Parameters.AddWithValue("@Note", tbxNote.Text)
                    cm.Parameters.AddWithValue("@ServiceFee", tbxServiceFee.Text)
                    cm.Parameters.AddWithValue("@Totalcost", tbxTotalCost.Text)
                    cm.Parameters.AddWithValue("@Sale", tbxSale.Text)
                    cm.Parameters.AddWithValue("@working_day", cbWorkDays1.Text)
                    cm.Parameters.AddWithValue("@Entries", cbEntries1.Text)
                    cm.Parameters.AddWithValue("@Valid_date", dtDuration1.Text)
                    cm.Parameters.AddWithValue("@Passenger_ID", dgvPassenger2.Rows(i).Cells(3).Value.ToString)
                    cm.Transaction = tr
                    With cm
                        .CommandText = sql
                        '.ExecuteNonQuery()
                    End With

                    cm.ExecuteNonQuery()
                    Conn.Close()
                    Exit For
                Next
            Catch ex As Exception
                success = False
                errorMessage = ex.Message
            End Try
            MessageBox.Show("บันทึกข้อมูลเรียบร้อยแล้ว")
        End If




ฟิลด์ที่ต้องการบันทึกให้เป็น ID คือ Passenger_ID ค่ะ



Tag : .NET









ประวัติการแก้ไข
2011-01-17 10:54:28
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-01-17 10:51:14 By : zeenanz View : 1178 Reply : 12
 

 

No. 1



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



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


ก็มาถูกทางแล้วนิครับ จขกท ก็สร้าง OleDbCommand มาดึงค่าโดยใช้ SQL String บรรทัดที่ 9-10 แล้วก็สร้าง OledbReader มารับค่าจาก OleDbCommand โดยตอน Execute เปลี่ยนจาก NonQuery เป็น Reader แล้วดึงค่า จาก OledbReader เอาครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-17 11:25:50 By : kaimuk
 


 

No. 2



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



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

ยังไงอ่ะค่ะ นึกภาพไม่ออก
คือยังไม่เก่งอ่าค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-17 13:16:08 By : zeenanz
 

 

No. 3



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



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

แบบนี้รึป่าวคะ ใส่หลังบรรทัดที่ 10 หรือป่าว

Code (VB.NET)
Dim cmm As New OleDbCommand(sql, Conn)
                    With cmm
                        .CommandText = sql
                        .ExecuteReader()
                    End With

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-17 13:19:03 By : zeenanz
 


 

No. 4



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



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


Code (VB.NET)
If CBool(MessageBox.Show("บันทึกใช่หรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = DialogResult.Yes) Then

            Conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Database passport\Passport.accdb;")
            Conn.Open()
            Try
                    Dim sql As String
                    Dim cmd As OleDbCommand
Dim _Read As OleDbReader
Dim _ID as String


                For i As Integer = 0 To dgvPassenger2.Rows.Count - 1
                    sql = "SELECT Passenger_ID FROM Passenger"
                    sql &= "WHERE F_Name='" & dgvPassenger2.Rows(i).Cells(3).Value.ToString & "', L_Name='" & dgvPassenger2.Rows(i).Cells(2).Value.ToString & "'"
cm = new OleDbCommand(sql,Conn)
cm.Transaction = tr
_Read = cmd.ExecuteReader
Do While _Read.Read()
_ID = _Read(“Passenger_ID”)
            Loop
_Read.Close
                    sql = "INSERT INTO [VisaSaleCard] ([SaleCard_No],[Customer],[Agent],[Embassy],[DateofIssue],[Note],[ServiceFee],[Totalcost],[Sale],[working_day],[Entries],[Valid_date],[[color=pink]Passenger_ID]) VALUES (@SaleCard_No,@Customer,@Agent,@Embassy,@DateofIssue,@Note,@ServiceFee,@Totalcost,@Sale,@working_day,@Entries,@Valid_date,@Passenger_ID)"
                    cm.Parameters.AddWithValue("@SaleCard_No", tbxNo.Text)
                    cm.Parameters.AddWithValue("@Customer", cbCustomer.Text)
                    cm.Parameters.AddWithValue("@Agent", cbAgent.Text)
                    cm.Parameters.AddWithValue("@Embassy", cbEmbassy.Text)
                    cm.Parameters.AddWithValue("@DateofIssue", dtDate.Text)
                    cm.Parameters.AddWithValue("@Note", tbxNote.Text)
                    cm.Parameters.AddWithValue("@ServiceFee", tbxServiceFee.Text)
                    cm.Parameters.AddWithValue("@Totalcost", tbxTotalCost.Text)
                    cm.Parameters.AddWithValue("@Sale", tbxSale.Text)
                    cm.Parameters.AddWithValue("@working_day", cbWorkDays1.Text)
                    cm.Parameters.AddWithValue("@Entries", cbEntries1.Text)
                    cm.Parameters.AddWithValue("@Valid_date", dtDuration1.Text)
                    cm.Parameters.AddWithValue("@Passenger_ID", _ID)
                    cm.Transaction = tr
                    With cm
                        .CommandText = sql
                        '.ExecuteNonQuery()
                    End With

                    cm.ExecuteNonQuery()
                    Conn.Close()
                    Exit For
                Next
            Catch ex As Exception
                success = False
                errorMessage = ex.Message
            End Try
            MessageBox.Show("บันทึกข้อมูลเรียบร้อยแล้ว")
        End If


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-17 13:41:15 By : kaimuk
 


 

No. 5



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



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

บันทึกไม่ลงฐานข้อมูลเลยค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-17 13:51:35 By : zeenanz
 


 

No. 6



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



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

Y_Y ใครก็ได้ช่วยหน่อยนะคะ

นั่งทำมาหลายวันแล้วยังทำไม่ได้เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-17 14:35:15 By : zeenanz
 


 

No. 7



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



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

dgvPassenger2.Rows(i).Cells(3).Value.ToString

ลองใส่วงเล็บเปิดปิดหลัง ToString เป็น ToString()
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-17 14:58:23 By : misteryou
 


 

No. 8



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



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

ก็ยังไม่ได้เลยค่ะ ไม่ error แต่บันทึกไม่ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-17 15:34:00 By : zeenanz
 


 

No. 9



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



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


Transaction ไม่มีการ Comit อ่ะครับ


ประวัติการแก้ไข
2011-01-17 16:49:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-17 16:49:40 By : kaimuk
 


 

No. 10



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



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

แล้วทำไงดีอ่าค่ะ ไม่เป็นซะด้วย
นั่งทำมาหลายวันแล้วอ่าค่ะ ช่วยหน่อยนะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-18 09:04:33 By : zeenanz
 


 

No. 11



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



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


Tr.Commit() ใส่ไว้ก่อน Catch ex As Exception
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-18 09:16:31 By : kaimuk
 


 

No. 12



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ให้ตรวจสอบสิ่งเหล่านี้
1. tr ของคุณคือ OleDbTransaction ใช่หรือไม่
2. หากไม่มีคำสั่งบรรทัดนี้
cm.Transaction = tr
สามารถบันทึกข้อมูลได้หรือไม่

3. สามารถศึกษาการใช้ OleDbTransaction ได้ที่นี่
http://msdn.microsoft.com/en-us/library/93ehy0z8(v=VS.85).aspx

ข้อสังเกต เมื่อไหร่ก็ตามที่ต้องการใช้งานเกี่ยวกับ Transaction
ต้องมีคำสั่งต่อไปนี้ อยู่ในโปรแกรม ขาดไปอันใดอันหนึ่ง โปรแกรมจะไม่สามารถทำงานได้ตามประสงค์อย่างแน่นอน
transaction = connection.BeginTransaction()
transaction.Commit()
transaction.Rollback()

4. อันนี้ไม่เกี่ยวกับ Transaction เกี่ยวกับการเปิด Connection (conn.Open) คำสั่งนี้ ควรเขียนภายใน Try Box เพื่อมิให้โปรแกรมเกิดข้อผิดพลาด โดยไม่มีตัวจับ ดังตัวอย่างข้างล่าง
ส่วนของการปิด ให้ไว้ใน Finally

Code (VB.NET)
Dim Conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Database passport\Passport.accdb;") 
Try
    Conn.Open() 
Catch ex As Exception 
   ' แสดงข้อผิดพลาด
Finally
    Conn.Close()
    Conn.Dispose()
End Try

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-18 09:50:03 By : หางอึ่ง
 

   

ค้นหาข้อมูล


   
 

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