?
Solved

String or binary data would be truncated

Posted on 2007-11-16
5
Medium Priority
?
327 Views
Last Modified: 2008-03-06
Hello Everyone I get the following error message:

Microsoft OLE DB Provider for ODBC Drivers error '80040e57'

[Microsoft][ODBC SQL Server Driver][SQL Server]String or binary data would be truncated.

/OPICForms/115/save_sv.asp, line 163

Is this caused by my code or by the datatyeps in my database?
For instance, if I hava a string it's too long to fit in the database?
if it's caused by my code, please let me know and I'll include the code, it's just that this is 14 page application and the error seems to come from the UPDATE statmetn, which doesn't tell me anything:

      
      if sUpdate<> "" then

       sUpdate = "UPDATE " & sTable & " SET " & sUpdate & " [Part" & iFormPart & "Complete]=" & Request.Form("_complete") & ", [Part" & iFormPart & "Updated_ts]='" & now() & "' WHERE FK_ApplicationID=" & iApplicationID
      
      
      else
             sUpdate = "UPDATE " & sTable & " SET [Part" & iFormPart & "Complete]=" & Request.Form("_complete") & ", [Part" & iFormPart & "Updated_ts]='" & now() & "' WHERE FK_ApplicationID=" & iApplicationID
      end if

      objConn.execute(sUpdate)

end if


Any ideas?

Here is the UPDATE if I do response.write:

UPDATE tableName SET [chkFI]='1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0', [Technical1]=NULL, [Technical2]=NULL, [TrainingManagement]='0', [TrainingProfessional]='0', [TrainingLabor]='0', [EmployPolicy]=0, [Years]='0', [Managerial1]=NULL, [UnskilledLabor1]=NULL, [Managerial2]=NULL, [UnskilledLabor2]=NULL, [Partnerships]=0, [WomenBenefits]=0, [BenefitPoor]=0, [CompanyBenefits]=0, [DescribePartnerships1]=NULL, [DescribePartnerships2]=NULL, [DescribePartnerships3]=NULL, [DescribePartnerships4]=NULL, [chkbenefits]='0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0', [chkBenefitPoor]='0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0', [chkCompanyBenefits]='0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0', [chkEmployPolicy]='0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0', [chkWomenBenefits]='0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0', [chkPartnerships]='0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0', [Part09Complete]=0, [Part09Updated_ts]='11/16/2007 11:43:37 AM' WHERE FK_ApplicationID=995


It seems to have strange data like chkEmployPolicy = 0, is it because with several answers it sets up a string like this [chkCompanyBenefits]='0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0',

How do I fix somethign like this?

How can somethign like this happen, it's coming from the checkbox question, but why? why have the name equal to 0 rather than just 0
0
Comment
Question by:Gemini532
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
5 Comments
 
LVL 13

Expert Comment

by:samic400
ID: 20299939
Most of the time when I get this error, I am trying to put too much data into a field in my database that won't hold that much data.
0
 
LVL 13

Expert Comment

by:samic400
ID: 20299955
A solution that I use is I always trim my fields by using the mid function to only accept the maximum number of character allowed in my field in SQL Server.

So if you had a field in your table that only allowed 30 characters, just use the mid(myfield,1,30) to make sure you are only allowing the correct number of bytes.

Also, create maximum sizes on your form input fields so you won't all the user to exceed the entry there either.
0
 
LVL 13

Expert Comment

by:samic400
ID: 20299976
If you are using chexkboxes you need to test the results by a javascript like this to see what was selected in your checkboxes:

for (counter=0;counter<job_form.chkjob.length;counter++)
 {
   if (job_form.chkjob[counter].checked)
      {
       chkbox_choices = chkbox_choices + 1;
      }
}

It looks like you are bringing in all of your values for the form checkbox instead of the one you actually want, that is why you have so many numbers in your string.
0
 

Author Comment

by:Gemini532
ID: 20299995
but multiple checkboxes are checked, therefore there shoudl be mulitple values.. .no?
0
 
LVL 13

Accepted Solution

by:
samic400 earned 2000 total points
ID: 20300017
On your processing form side, before you update, cycle through to see what was checked:

<%
for i = 1 to request.form("chkjob").count
     jobid = request.form("chkjob")(i)
next
%>

the field jobid will give you a specific value in the "array" of potential values for my checkboxes in the "chkjob" form field.
0

Featured Post

New benefit for Premium Members - Upgrade now!

Ready to get started with anonymous questions today? It's easy! Learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:   The Exchange of informatio…
Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
Suggested Courses

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question