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

HOME > .NET Framework > Forum > [vb.net] Error ขึ้น the sqldbtype enumeration value 128 is invalid อะครับ


 

[.NET] [vb.net] Error ขึ้น the sqldbtype enumeration value 128 is invalid อะครับ

 
Topic : 078951



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



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



error

Erroe ดังภาพอะครับ คือผมจะเขียนไฟล์โดยเก็บไฟล์ภาพไว้อะครับ โดยฐานข้อมูล data type เป็น Binary(MAX)

คือตอนแรกใช้ฐานข้อมูล Access ใช้ Dataype เป็น OLE Object สามารถบันทึกได้นะครับ แต่พอเปลี่ยนฐานข้อมูลเป็น SQl SERVER มันขึ้น Error pังงี้อะครับ


ใน Class DBFile

Code (VB.NET)
01.Public Function SaveFile(ByVal clientFilePath As String, ByVal clientFileExt As String) As Integer
02. 
03.        Dim targetFileName As String = "f_" & DateTime.Now.ToString("yyyyhMMdd_hmmss") & clientFileExt
04.        Dim objReader As SqlDataReader
05.        Dim objCmd As New SqlCommand
06.        Dim resultDt As DataTable = New DataTable()
07.        Dim new_id As Integer = 0
08. 
09.        'Declare a file stream object     
10.        Dim o As FileStream
11.        'Declare a stream reader object    
12.        Dim r As StreamReader
13. 
14.        '--- เปิดไฟล์เพื่ออ่านข้อมูล ตาม path ที่เก็บไฟล์จากตัวแปร clientFilePath     
15.        o = New FileStream(clientFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)
16. 
17.        '--- อ่านข้อมูลไฟล์ลง stream  
18.        r = New StreamReader(o)
19. 
20.        Try
21.            '--- สร้างตัวแปรขึ้นมาตัวนึง เป็นประเภท Byte Array เพื่อเอาไว้เก็บข้อมูลรูปภาพ
22.            Dim FileByteArray(o.Length - 1) As Byte
23. 
24.            '--- อ่านข้อมูลจาก stream ลงใน byte array
25.            o.Read(FileByteArray, 0, o.Length)
26. 
27.            '--- insert ลงฐานข้อมูล
28.            Dim strSQL As String = "INSERT INTO tbl_file ([file_name], [file_byte], [file_ext], [uploader], [upload_date]) VALUES ('" & targetFileName & "', @PictureL, '" & clientFileExt & "', '', '" & DateTime.Now.ToString("dd/MM/yyyy") & "')"
29.            objCmd = New SqlCommand(strSQL, objConn)
30. 
31.            'Add parameters to the OleDbCommand object    
32.            objCmd.Parameters.Add("@PictureL", System.Data.OleDb.OleDbType.Binary, o.Length).Value = FileByteArray
33. 
34.            'Save the image into the database
35.            Dim rowEffect As Integer = objCmd.ExecuteNonQuery()
36.            objCmd.Dispose()
37. 
38.            '--- เมื่อ insert แล้ว เราจะดึง fileID ล่าสุดที่เพิ่ง insert ไปขึ้นมา
39.            If (rowEffect > 0) Then
40.                strSQL = "SELECT @@identity AS NewID FROM tbl_file"
41.                objCmd = New SqlCommand(strSQL, objConn)
42. 
43.                objReader = objCmd.ExecuteReader()
44.                resultDt.Load(objReader)
45. 
46.                new_id = CInt(resultDt.Rows(0)("NewID"))
47.                objCmd.Dispose()
48.            End If
49. 
50.            'Close the connection
51.            objConn.Close()
52. 
53.        Catch ex As Exception
54.            ErrorMessage = ex.Message
55.        End Try
56. 
57.        '--- แล้วรีเทิร์นออกไป ถ้า fileID > 0 แสดงว่า insert สำเร็จ
58.        Return new_id
59.    End Function



อันนี้หน้าฟอร์มนะครับ


Code (VB.NET)
01.Private Sub btnUploadClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpload.Click
02.    Dim filePath As String = ""
03.    Dim fileExt As String = ""
04. 
05.    filePath = oFileDialog.FileName
06.    fileExt = System.IO.Path.GetExtension(filePath)
07. 
08.    Dim objFile As DBFile = New DBFile()
09.    Dim new_id = objFile.SaveFile(filePath, fileExt)
10. 
11.    If (new_id > 0) Then
12.        MsgBox("อัพโหลดเรียบร้อยแล้ว")
13.        lbReturnFileID.Text = new_id.ToString()
14. 
15. 
16.        '--- เมื่ออัพโหลดสำเร็จ จะ return ค่า new_id ซึ่งตรงกับ file_id ในฐานข้อมูล เมื่อ new_id > 0 แสดงว่าอัพโหลดสำเร็จ
17.        '--- ถ้าเป็น 0 แสดงว่า error เราสามารถเอา new_id ตัวนี้ไปใช้ insert ลง table tool ได้
18.    Else
19.        MsgBox(objFile.ErrorMessage)
20.    End If
21.End Sub




Tag : .NET, Ms SQL Server 2008

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-05-25 15:48:23 By : tavada_b View : 2013 Reply : 1
 

 

No. 1



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

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

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

ลองดูนี่ครับการใช้ .NET กับ SQL Server BLOB

Code (VB.NET)
01.Dim imbByte(fUpload.PostedFile.InputStream.Length) As Byte
02.fUpload.PostedFile.InputStream.Read(imbByte, 0, imbByte.Length)
03. 
04.'*** MimeType ***'
05.Dim ExtType As String = System.IO.Path.GetExtension(fUpload.PostedFile.FileName).ToLower()
06.Dim strMIME As String = Nothing
07.Select Case ExtType
08.    Case ".gif"
09.        strMIME = "image/gif"
10.    Case ".jpg", ".jpeg", ".jpe"
11.        strMIME = "image/jpeg"
12.    Case ".png"
13.        strMIME = "image/png"
14.    Case Else
15.        Me.lblStatus.Text = "Invalid file type."
16.        Exit Sub
17.End Select
18. 
19.'*** Insert to Database ***'
20.Dim objConn As New SqlConnection
21.Dim strConnString, strSQL As String
22. 
23.strConnString = "Server=localhost;UID=sa;PASSWORD=;database=mydatabase;Max Pool Size=400;Connect Timeout=600;"
24. 
25.strSQL = "INSERT INTO files (Name,FilesName,FilesType) " & _
26." VALUES " & _
27." (@sName,@sFilesName,@sFilesType)"
28.objConn.ConnectionString = strConnString
29.objConn.Open()
30. 
31.Dim objCmd As New SqlCommand(strSQL, objConn)
32.objCmd.Parameters.Add("@sName", SqlDbType.VarChar).Value = Me.txtName.Text
33.objCmd.Parameters.Add("@sFilesName", SqlDbType.Binary).Value = imbByte
34.objCmd.Parameters.Add("@sFilesType", SqlDbType.VarChar).Value = strMIME
35.objCmd.ExecuteNonQuery()
36. 
37.objConn.Close()
38.objConn = Nothing


Go to : ASP.NET SQL Server BLOB Binary Data and Parameterized Query
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-25 17:52:39 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [vb.net] Error ขึ้น the sqldbtype enumeration value 128 is invalid อะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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