Issue when user inputs string into integer search field

abraun

Member
Whenever a user puts in a string into an integer search field, dadabik gets stuck and won't fix until we 'Remove the search Filter' by manipulating the url to force the search to reset.


Invalid string in integer column
1659640894344.png

Edit URL to contain the &empty_search_variables=1 url parameter, then run and it will clear
1659640997662.png

Perhaps on the error screen there could be a button that would prompt this url so the user can fix it themselves.

You are using DaDaBIK version 11.6-Elba enterprise, installed on 07-26-2022 (installation code: 0), the latest version of DaDaBIK is 11.6-Elba released on 06-14-2022

You are runnning the last release of DaDaBIK


PHP Version: 7.3.11
sqlserver version: 15.00.4236
Web server: Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.11
Client: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.77
 

eugenio

Administrator
Staff member
You are right, this is an sql server related bug, I will put it in the todo list.

It is strange that N'wal' in the query though; DaDaBIK since version 10.6 doesn't support nvarch, nchar and ntext fields anymore and doesn't use the N character. Is this an upgrade? Is that problematic upgrade we discussed via email?

Best,
 

eugenio

Administrator
Staff member
I double checked this and at the moment I think the easier thing to suggest to your users is to logout and login again, this removes a possibly wrong search filer. I will add a message at the end of the query error to explain that.
 

abraun

Member
This may be a related issue, so nvarchars are no longer supported? Will it break when the upgrade does happen? we specify all of our text fields as nvarchar.
 

eugenio

Administrator
Staff member
Yes, since version 10.6. If you check the email from your colleague, he reported the message got from the upgrade, which notified about that. I quote here an extract:

Starting from V 10.6, nvarch, nchar and ntext fields are not supported anymore. If you
have such fields in your own tables, you should convert them to varchar, char and
varchar(max). Your dadabik_ tables also contain nvarch, nchar and ntext fields, you
should convert them as well. If you don't do it, you won't be able to represent Unicode
characters other than ASCII and if you use the "simple mode" for data types in the data
section, you will see your field types empty. To represent Unicode characters other than
ASCII, you are now required to use char and varchar fields together with the new _utf8
collations introduced with SQL Server 2019. Text fields are also not supported to
represent Unicode characters other than ASCII (and they are deprecated in SQL Server
anyway), you should use varchar(max) (+ _utf8 collation) instead.
 
Top