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
Solved

Need Uppercase Update functionality from PB

Posted on 2000-04-13
5
775 Views
Last Modified: 2008-02-20
I have a PowerBuilder application that I need to run against a Sybase ASE 12 database which is configured to be case sensitive and requires all SQL to be uppercase.  I converted all of the datawindow retrieve and embedded SQL to uppercase and it all works, but the datawindow updates did not work.  I exported the datawindows and changed all of the update DB names to uppercase but it still is working for the updates.
Does anyone have any ideas of anything that I could try??
0
Comment
Question by:cwilliams122399
5 Comments
 
LVL 2

Expert Comment

by:jkotek
ID: 2712361
There are two points I would try:

1) try to re-select updatable table in update properties of datawindow object

2) check sqlsyntax argument in SQLPreview for what is send to ASE.
0
 
LVL 9

Expert Comment

by:david_levine
ID: 2714274
Or run your app with /PBDEBUG and it will output a debug file with all the code and sql sent to the database.

You saud all SQL needs to be uppercase. You shouldn't have to worry about the case of the SQL syntax. You meant the column names? Or do you mean you want to keep the data in all upper case?

David
0
 
LVL 1

Expert Comment

by:runebj
ID: 2725669
Quick and simple...

Follow jkotek's advice, but add this code (can be done in a DW control ancestor if you like) to the SQLPreview event:

SetSQLPreview( Upper( SQLSyntax ) )
Return 0

This makes all SQL uppercase before it is sent to the DB.

Good luck
Runebj
0
 

Expert Comment

by:shabbirab
ID: 2770528
Any modifications in a PB DataWindow (even if it is changing the case of the source) requires to re-specify the Update on the DataWindow. Did you do this ? If yes, what is the message that you are getting when you run the PB Application ?

Shabbir
0
 

Accepted Solution

by:
russ_hensel earned 350 total points
ID: 2847549
In the dw syntax there is a statement like  update="plant" ( in this case from a pbselect, or graphics mode ) it tells pb the name of the table to update.  That is what needs to be in upper case.
You can get at this without running thru the syntax of the dw ( not the sql )
by using the dw property


Datawindow.Table.UpdateTable      
as in

ls_table =  dw_1.Object.DataWindow.Table.UpdateTable      

which you might follow with

dw_1.Object.DataWindow.Table.UpdateTable      = Upper( ls_table )

if you want to do a fix at runtime. ( prehaps just after you setTransObject )

Opening the painter and reseting the update table ( against a db with the proper capitilization ) should also fix up the dw.

I would not capatalize all the syntax, if you are not using bind variables it could cause problems.

Russ
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
group by and where clauses 3 557
Sybase - sp_cacheconfig 1 1,006
Crystal Reports 8.5 hangs 11 101
SAP HANA use case satisfy OLAP applications only. How true? 7 285
Giving access to ESXi shell console is always an issue for IT departments to other Teams, or Projects. We need to find a way so that teams can use ESXTOP for their POCs, or tests without giving them the access to ESXi host shell console with a root …
With User Account Control (UAC) enabled in Windows 7, one needs to open an elevated Command Prompt in order to run scripts under administrative privileges. Although the elevated Command Prompt accomplishes the task, the question How to run as script…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

840 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