1. Greg Sola
  2. PowerBuilder
  3. Thursday, 6 July 2017 02:58 AM UTC

The BIT column in a datawindow is being returned as -1 when 1 and 0 when 0.  This has been occurring for me using PB 12.0 and now with the new PB 2017.  I am experiencing this in both SQL Server 2008 R2 and 2014.  Has anyone run across this before.  I am forced to either change the column to TINYINT or INT or put a CASE statement in the Datawindow such as "CASE WHEN MyBitColumn = 0 THEN 0 ELSE 1 END AS MyBitColumn"

Any help would be appreciated.

 

Kim Berghall Accepted Answer Pending Moderation
  1. Monday, 19 February 2018 23:14 PM UTC
  2. PowerBuilder
  3. # 1

the easiest way is to change the SQL like this: mycolumn = cast(mycolumn as tinyint). That also fixes the issue of having a NULL value.

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 6 July 2017 04:10 AM UTC
  2. PowerBuilder
  3. # 2

Hi Greg;

   Please let kme know if this works for you ...   

   If the value of the StaticBind DBParm is 1 (default), the SNC interface does not describe the columns and does not do any data conversion. As a result, a bit column with the value 1 displays as -1 in a DW. To work around this issue, set the StaticBind DBParm to 0, which enables the SNC interface to convert the data type correctly

Regards  ... Chris

Comment
  1. Andrew Barnes
  2. Friday, 7 February 2020 19:09 PM UTC
Thanks for the tip, Chris. We currently are on OLE DB and I was beginning to look at SNC when I ran into this same problem. After setting StaticBind to 0, bit columns were correctly returned as 1 instead of -1.
  1. Helpful
  1. Chris Pollach @Appeon
  2. Friday, 7 February 2020 19:41 PM UTC
Hi Andrew .. that is excellent news!
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.