Hi - i have a text field in a access DB which can accept text upto 255 chars (the max size of path+filename)
When i write to this field via VB code (INSERT ...statement) i get the following error message:
"Message=The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data.Source: Microsoft JET Database Engine"
The string that i write is only 122 characters long - i don't understand what is going on here.
Can you explain:
I've tried trimming the string, Trim(mystring) - no difference.
I've tried truncating the string, Left(mystring,255) - no difference.
(Get a similar error if the DB is SQL - fundamental problem somewhere...
I should add that i'm using a dataset and the update method of data adapter :
The insert command of the da as follows:
' Create a custom Insert command.
Dim cmdInsert As New OleDbCommand("INSERT INTO tblTrackDetails (TrackName, Album, Artist, Genre, Composer, Comment, TrackLength, ReleaseYear, Created, Modified, Rating, BitRate, SampleRate, FileSize, FileLocation) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", m_DBConnect)
' Add arguments for the SET clause, that use the current field value.
With cmdInsert.Parameters.Add("@p1", GetType(String))
.SourceColumn = "TrackName"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p2", GetType(String))
.SourceColumn = "Album"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p3", GetType(String))
.SourceColumn = "Artist"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p4", GetType(String))
.SourceColumn = "Genre"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p5", GetType(String))
.SourceColumn = "Composer"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p6", GetType(String))
.SourceColumn = "Comment"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p7", GetType(String))
.SourceColumn = "TrackLength"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p8", GetType(Integer))
.SourceColumn = "ReleaseYear"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p9", GetType(Date))
.SourceColumn = "Created"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p10", GetType(Date))
.SourceColumn = "Modified"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p11", GetType(Integer))
.SourceColumn = "Rating"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p12", GetType(Integer))
.SourceColumn = "BitRate"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p13", GetType(Integer))
.SourceColumn = "SampleRate"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p14", GetType(Decimal))
.SourceColumn = "FileSize"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p15", GetType(String))
.SourceColumn = "FileLocation"
.SourceVersion = DataRowVersion.Current
End With
m_DA.InsertCommand = cmdInsert
Thanks in advance:
Ken.
When i write to this field via VB code (INSERT ...statement) i get the following error message:
"Message=The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data.Source: Microsoft JET Database Engine"
The string that i write is only 122 characters long - i don't understand what is going on here.
Can you explain:
I've tried trimming the string, Trim(mystring) - no difference.
I've tried truncating the string, Left(mystring,255) - no difference.
(Get a similar error if the DB is SQL - fundamental problem somewhere...
I should add that i'm using a dataset and the update method of data adapter :
The insert command of the da as follows:
' Create a custom Insert command.
Dim cmdInsert As New OleDbCommand("INSERT INTO tblTrackDetails (TrackName, Album, Artist, Genre, Composer, Comment, TrackLength, ReleaseYear, Created, Modified, Rating, BitRate, SampleRate, FileSize, FileLocation) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", m_DBConnect)
' Add arguments for the SET clause, that use the current field value.
With cmdInsert.Parameters.Add("@p1", GetType(String))
.SourceColumn = "TrackName"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p2", GetType(String))
.SourceColumn = "Album"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p3", GetType(String))
.SourceColumn = "Artist"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p4", GetType(String))
.SourceColumn = "Genre"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p5", GetType(String))
.SourceColumn = "Composer"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p6", GetType(String))
.SourceColumn = "Comment"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p7", GetType(String))
.SourceColumn = "TrackLength"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p8", GetType(Integer))
.SourceColumn = "ReleaseYear"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p9", GetType(Date))
.SourceColumn = "Created"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p10", GetType(Date))
.SourceColumn = "Modified"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p11", GetType(Integer))
.SourceColumn = "Rating"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p12", GetType(Integer))
.SourceColumn = "BitRate"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p13", GetType(Integer))
.SourceColumn = "SampleRate"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p14", GetType(Decimal))
.SourceColumn = "FileSize"
.SourceVersion = DataRowVersion.Current
End With
With cmdInsert.Parameters.Add("@p15", GetType(String))
.SourceColumn = "FileLocation"
.SourceVersion = DataRowVersion.Current
End With
m_DA.InsertCommand = cmdInsert
Thanks in advance:
Ken.