0
Votes
-
George Mikhailovsky
- PowerBuilder
- Thursday, 22 May 2025 04:03 PM UTC
Dear PowerBuilders colleagues,
I encountered this issue when using PowerBuilder 2019 R3 on the front end and SQLServer 2018 on the back end.
I deployed my application as a web application, created a package, and then installed it on the client server. Everything worked fine under PowerBuilder on my development box. But when I launched the installed web version on my client's server and tried to change the values of string data fields in one specific DataWindow, I got a “The column type does not match” Appeon Web Library error. Naturally, I first compared the names and data types of all data fields in this DW object and the corresponding columns in the database. They all matched. Since such changes to DW data field values trigger the EditChanged event of the DW control, I added my Message Boxes to the beginning and end of its script:
MessageBox('George', 'I am at the beginning of EditChanged!')
Choose Case uo_navigator.GetObjectType()
Case "Budget Item"
Choose Case GetColumnName()
Case "budget_category_id"
i_budget_category_id = Long(GetText())
Case "changeorder_id"
i_changeorder_id = Long(GetText())
End Choose
Case "CostCenter Item"
If GetColumnName() = 'costcenter_id' Then
DataWindowChild dwc
GetChild('costcenter_id', dwc)
DDDWAutoScroll(dwc, 'costcenter_id', GetText())
End If
End Choose
MessageBox('George', 'I am at the end of EditChanged!')
Since my Case in the main Choose Case is 'Project', no code is executed in this event. In addition, the Appeon error pops up before this EditChanged event is triggered. Considering that my DW control inherits from u_datawindow UserObject, I added my Message Boxes before each step of its script in its EditChanged event, as well:
boolean AllowChange = FALSE
long r
string rstatus
MessageBox('George', 'I am in EditChanged of u_datawindow!')
r = GetRow()
If (CheckForSave) Then
AllowChange = TRUE
MessageBox('George', 'I am in EditChanged of u_datawindow! CheckForSave is TRUE.')
Else
If IsValid(ShareDataWindow) Then
If ShareDataWindow.CheckForSave Then
AllowChange = TRUE
End if
End if
End if
If AllowChange Then
If (r> 0) Then
MessageBox('George', 'I am in EditChanged of u_datawindow! Rows exist.')
rstatus = GetItemString(r, StatusColumn )
MessageBox('George', 'I am in EditChanged of u_datawindow! RowStatus = '+rstatus)
If (rstatus = "N") Then SetStatusColumn( r, "Modify")
MessageBox('George', 'I am in EditChanged of u_datawindow! After SetStatusColumn.')
End if
End if
Then, I ran the application again in my environment and in the client's environment. The results are shown in the Screenshots file. As you can see, the Appeon error pops up after executing the following line of code:
rstatus = GetItemString(r, Status column).
The rstatus, returned by this function, is equal to “N” (as it should be) in my environment and some mysterious timestamp on the client server.
Status Column is a string variable of the instance, declared as
string StatusColumn = “status_bmp”
As can be seen from the DataWindow object specification in 2nd part of the Screenshot file, status_bmp (the last, 70th column) has a data type of char(1) and can be 'N', 'M', 'I', and 'D' (for 'Not Modified', 'Modified', 'Inserted', and 'Deleted') with a code table that links each of these values to BMP image files (see the last screenshot in the Screenshot file).
Does anyone understand what is happening and how I can fix it? I would be very grateful for any help,
Thank you,
George Mikhailovsky
Responses (0)
Loading...
Find Questions by Tag
.EXE
.NET 6.0
.NET Assembly
.NET Core 3.1
.NET Core Framework
.NET DataStore
.NET Std Framework
32-bit
64-bit
ADO.NET
AEM
AI
Algorithm
Amazon AWS
Android
Apache
API
APK
App Store
App Store (Apple)
Appeon Workspace
Appeon Xcelerator Plug-in
Architecture
Array
ASE
Asynchronous Methods
Authentication
AutoBuild
AutoCompiler
Automated Testing
Automation
AutoScript
Azure
Barcode
Base64
Batch
BigData
BLOB
Branch & Merge
Browser
Bug
Build
Button
C#
C# Class Importer
C# Editor
C# Model generator
Calendar
Camera
Certificate
Chrome
Citrix
Class
Client
Client/Server
Cloud
Cluster
Collection
COM
Command Line
Compiler
Compression
Computed Field
Configuration
Controls
Cookies
Cordova
Crash
Cross-Platform
Crosstab
CSharpAssembly
CSharpObject
CSS
CSV
Cursor
Data
Database
Database Driver
Database Painter
Database Profile
Database Provider
DataObject
DataSource
DataStore
DataStore (C#)
DataStore (PS)
DataType
DataWindow
DATE
DATETIME
DB2
Debug
Debugger
Debugging
Deployment
Design
DLL
DO-WHILE
Dockable
Docker
Documentation
DOUBLE
Download
DPI
DragDrop
Edge
Edit Style
Editor
Elevate Conference
Email
Embedded SQL
Emulator
Encoding
Encryption
Enhancement Request
Entity
Entity Framework
ERP
Error
Event
Event Handler
Event Handling
Excel
Exception
Export
Expression
External Functions
F#
Field
File
File Access
Filter
Firefox
Firewall
Font
FOR-NEXT
Foreground
Format
Function
Garbage Collection
GeoLocation
Git
Graph
HANA
Hash
Header
HTML/5
HTTP/S
HTTPClient
Icon
IDE
Identity
IIS
IMAPI
Import
InfoMaker
Inheritance
Installation
Integer
IntelliSense
Interface
Internet
Internet Explorer
iOS
IPA
iPad
iPhone
IWA
J#
Java
JavaScript
JBoss
JDBC
JOIN
JSON
JSONGenerator
JSONParser
Kestrel
Label
Lambda
Large File
LDAP
Library
License
LINQ
Linux OS
Load Balancing
Localization
Localized PBVM
Log In
Log Out
Logging
LONG
LONGLONG
macOS
MAPI
Maps
MDI
Memory
Memory Leak
Menu
Merge
MessageBox
Messagging
Method
Migration
MIME TYPE
Mobile
Model
ModelStore
ModelStore (C#)
MSOLEDBSQL
Multi Threading
MVC
MySQL
n-Tier
Namespace
NativePDF
NVO
OAuth
ODATA
ODBC
Office
Offline
OLE
OLEDB
Online
Open Source
OpenAPI
OpenSSL
Oracle
OrcaScript
Other
Outlook
Output
Package
Parameter
Patch
PayPal
PB Classic
PB Native
PB.NET
PBC
PBD
PBDOM
PBG
PBJVM
PBL
PBNI
PBORCA
PBVM
PBX
PDF
Performance
Permission
PFC
Picture
Pipeline
Play Store (Google)
Plugin
Popup
Port
POST
PostgreSQL
PowerBuilder
PowerBuilder (Appeon)
PowerBuilder (SAP)
PowerBuilder Compiler
PowerBuilder Runtime
PowerClient
PowerScript (PS)
PowerScript IDE
PowerScript Migrator
PowerServer
PowerServer Mobile
PowerServer Toolkit
PowerServer Web
PowerServerLabel
Print
Properties
Proxy
Publish
PULL
PUSH
Query
Regression
Release
Renew
Resize
Response
REST
Retrieve
RibbonBar
RibbonBar Builder
RibbonView
Rich Text
Roadmap
RPC
Runtime Packager
SaaS
Scaffolding
Script
SDI
SDK
Security
Server
Service
Session
Single Sign-on
Size
SMTP
SMTPClient
SnapDevelop
SOAP
Solution
Sort
Source Code
Speech Recognition
SQL
SQL Anywhere
SQL Server
SqlBuilder
SqlExecutor
SQLite
SqlModelMapper
Storage
Stored Procedure
Subscription
SVN
Swagger
Syntax
TabbedBar
TabbedView
Tablet
TabPage
Target
TE Control
Testing
Text
TFS
Theme
TIME
Timer
TLS/SSL
Tomcat
TortoiseGit
TortoiseSVN
Transaction
Transparency
Trial
Trigger
TRY-CATCH
TX Control
Type
UI
ULONG
UltraLite
Uninstall
Unit Test
Unit Testing
UNIX OS
Update
Upgrade
Upload
URL
User Center
User Object
UWP
Validation
VARCHAR
Variable
Versioning
Visual Studio
Visual Studio Code
VM
Voice
Warning
WCF
Web API
Web Extensions
Web Service
WebBrowser
WebForms
WebLogic
WebSphere
WildFly
WinAPI
Window
Windows OS
WinForms
Wizard
Workgroup
Workspace
WPF
XCODE
XHTML
XML
Zoom
✖
Helpful?
If a reply or comment is helpful for you, please don’t hesitate to click the Helpful button. This action is further confirmation of their invaluable contribution to the Appeon Community.