ผมใช้งาน asp.net vb ต้องการบันทึกภาษาจีนลงใน SQL Server Management Studio 2008

เริ่มโดย thanyath99, 23 มกราคม 2015, 13:02:47

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

thanyath99

ผมใช้งาน asp.net vb ต้องการบันทึกภาษาจีนลงใน SQL Server Management Studio 2008
แต่พอกด insert เข้าไปทีไรก็เป็น question-mark ????????? ทุกที
ทำมาห้าวันละ ก็ยังคิดไม่ออก ใครรู้บ้างครับว่าควรจะทำยังไง

[direct=http://xn--22ce0dhf8bc8b8fxa3j.com/]รับเขียนบทความ[/direct]ผู้นำด้านงานเขียนบทความ เรามีบริการรับเขียนบทความแบบครบวงจรไม่ว่าจะเป็นบทความทั่วไป บทความที่มีความซับซ้อน บทความการตลาด และอื่น ๆ เราพร้อมให้บริการอย่างเต็มความสามารถ

thanyath99

[direct=http://xn--22ce0dhf8bc8b8fxa3j.com/]รับเขียนบทความ[/direct]ผู้นำด้านงานเขียนบทความ เรามีบริการรับเขียนบทความแบบครบวงจรไม่ว่าจะเป็นบทความทั่วไป บทความที่มีความซับซ้อน บทความการตลาด และอื่น ๆ เราพร้อมให้บริการอย่างเต็มความสามารถ

pasalid

ได้คำตอบอย่างไรครับ
เผื่อเป็นประโยชน์ต่อสมาชิกท่านอื่น ผมไม่ได้ทำ .net นานล่ะ ลืมๆ
:'(
[direct= *Link Removed* ]เช่า vps[/direct]
[direct= *Link Removed* ]เช่าโฮสติ้ง[/direct]

kenessar

1. ต้องมั่นใจว่าคอลัมน์นั้นมี DataType เป็น NVARCHAR
2. ใช้ Single Quote เฉยๆไม่ได้ ถ้ามี Non English Character ต้องมี N นำ เช่น

'สวัสดีชาวโลก' แบบนี้เวลาบันทึกลงด้วยคำสั่ง Insert หรือ Update จะกลายเป็น ????
ต้องเขียนเป็น N'สวัสดีชาวโลก' แบบนี้ถึงจะได้


อีกเรื่องนึง ผมว่า แนะนำให้ท่านใช้ SqlParameter ดีกว่าครับ มันจะจัดเก็บข้อมูลได้ถูกต้องกว่า โดยที่เราไม่ต้องมาปวดหัวกับประเภทข้อมูลเลย ไม่ต้องสนใจเรื่อง Single Quote, Non English, DateTime อะไรพวกนี้เลย แถมป้องกัน SQL-Injection ได้ด้วย

Dim comm As New SqlCommand("INSERT INTO Table_test(id, one_item, two_item, three_item) VALUE(@id, @one_item, @two_item, @three_item")
comm.Parameters.AddWithValue("@id", ID.Text)
comm.Parameters.AddWithValue("@one_item", one_item.Text)
comm.Parameters.AddWithValue("@two_item", two_item.Text)
comm.Parameters.AddWithValue("@three_item", three_item.Text)
comm.ExecuteNonQuery()
comm.Close()


ตัวอย่างการใช้งาน https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection.addwithvalue%28v=vs.110%29.aspx


goodwide