"String or binary data would be truncated. The statement has been terminated." คือมันกำลังบอกว่าขนาดของ fields ใน database น้อยไปกว่าข้อมูลที่จะบันทึกเข้าไป
'txtPathFile เป็น textbox เก็บ path ตอน brows
Dim filePath As String = txtPathFile.Text.Trim()
Dim name() As String = Split(filePath, "\")
Dim filename As String = Path.GetFileName(filePath)
Dim fs As FileStream = New FileStream(filePath, FileMode.Open, FileAccess.Read)
Dim br As BinaryReader = New BinaryReader(fs)
Dim bytes() As Byte = br.ReadBytes(CInt(fs.Length))Code (VB.NET)
MessageBox.Show(bytes.Length.ToString)
br.Close()
fs.Close()
'insert the file into database
tr = Conn.BeginTransaction
Try
Dim strQuery As String = "INSERT INTO tblFileScan(JobNo, NameFile,FileBinary,CreateBy,CreateDate) values (@JobNo, @NameFile, @FileBinary, @CreateBy, @CreateDate)"
com = New SqlCommand
With com
.Connection = Conn
.CommandText = strQuery
.CommandType = CommandType.Text
.Transaction = tr
.Parameters.Add("@JobNo", SqlDbType.VarChar).Value = "1234"
.Parameters.Add("@NameFile", SqlDbType.VarChar).Value = name(name.Length - 1)
' Parameters.Add("@FileType", SqlDbType.VarChar).Value = "application/vnd.ms-excel"
.Parameters.Add("@FileBinary", SqlDbType.Image).Value = bytes
.Parameters.Add("@CreateBy", SqlDbType.VarChar).Value = DBConnString.UserName
.Parameters.Add("@CreateDate", SqlDbType.DateTime).Value = Now
.ExecuteNonQuery()
End With
tr.Commit()
Catch ex As Exception
MessageBox.Show(ex.ToString, "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
tr.Rollback()
End Try
When n is not specified in a data definition or variable declaration statement, the default length is 1. When n is not specified with the CAST function, the default length is 30.
Use binary when the sizes of the column data entries are consistent.
Use varbinary when the sizes of the column data entries vary considerably.
Use varbinary(max) when the column data entries exceed 8,000 bytes.
---------------------------------
เอา google แปลให้
ข้อคิดเห็น
เมื่อ n ไม่ได้ระบุในความหมายของข้อมูลหรือคำสั่งประกาศตัวแปรความยาวเริ่มต้นคือ 1 เมื่อ n ไม่ได้ระบุด้วยฟังก์ชัน CAST, ความยาวเริ่มต้นคือ 30