2018-07-12 Fred Gleason <fredg@paravelsystems.com>

* Cleaned up SQL quieries in 'lib/' ensure UTF-8 compatibility.
This commit is contained in:
Fred Gleason
2018-07-12 13:47:20 -04:00
parent bc2ada9b22
commit 363dbb7878
67 changed files with 1617 additions and 2040 deletions

View File

@@ -37,6 +37,7 @@
#include <rdcart_search_text.h>
#include <rdconf.h>
#include <rddb.h>
#include <rdescape_string.h>
#include <rdgroup.h>
#include <rdprofile.h>
#include <rdsettings.h>
@@ -717,28 +718,45 @@ void RDCartDialog::RefreshCarts()
schedcode="";
}
if(cart_type==RDCart::All) {
sql=QString().sprintf("select CART.NUMBER,CART.TITLE,CART.ARTIST,\
CART.CLIENT,CART.AGENCY,CART.USER_DEFINED,\
CART.COMPOSER,CART.CONDUCTOR,\
CART.START_DATETIME,CART.END_DATETIME,CART.TYPE,\
CART.FORCED_LENGTH,CART.GROUP_NAME,GROUPS.COLOR \
from CART left join GROUPS \
on CART.GROUP_NAME=GROUPS.NAME where %s",
(const char *)GetSearchFilter(cart_filter_edit->text(),
group,schedcode));
sql=QString("select ")+
"CART.NUMBER,"+ // 00
"CART.TITLE,"+ // 01
"CART.ARTIST,"+ // 02
"CART.CLIENT,"+ // 03
"CART.AGENCY,"+ // 04
"CART.USER_DEFINED,"+ // 05
"CART.COMPOSER,"+ // 06
"CART.CONDUCTOR,"+ // 07
"CART.START_DATETIME,"+ // 08
"CART.END_DATETIME,"+ // 09
"CART.TYPE,"+ // 10
"CART.FORCED_LENGTH,"+ // 11
"CART.GROUP_NAME,"+ // 12
"GROUPS.COLOR "+ // 13
"from CART left join GROUPS "+
"on CART.GROUP_NAME=GROUPS.NAME where "+
GetSearchFilter(cart_filter_edit->text(),group,schedcode);
}
else {
sql=QString().sprintf("select CART.NUMBER,CART.TITLE,CART.ARTIST,\
CART.CLIENT,CART.AGENCY,CART.USER_DEFINED,\
CART.COMPOSER,CART.CONDUCTOR,\
CART.START_DATETIME,CART.END_DATETIME,CART.TYPE,\
CART.FORCED_LENGTH,CART.GROUP_NAME,GROUPS.COLOR \
from CART left join GROUPS \
on CART.GROUP_NAME=GROUPS.NAME \
where (%s)&&(TYPE=%d)",
(const char *)GetSearchFilter(cart_filter_edit->text(),
group,schedcode),
cart_type);
sql=QString("select ")+
"CART.NUMBER,"+ // 00
"CART.TITLE,"+ // 01
"CART.ARTIST,"+ // 02
"CART.CLIENT,"+ // 03
"CART.AGENCY,"+ // 04
"CART.USER_DEFINED,"+ // 05
"CART.COMPOSER,"+ // 06
"CART.CONDUCTOR,"+ // 07
"CART.START_DATETIME,"+ // 08
"CART.END_DATETIME,"+ // 09
"CART.TYPE,"+ // 10
"CART.FORCED_LENGTH,"+ // 11
"CART.GROUP_NAME,"+ // 12
"GROUPS.COLOR "+ // 13
"from CART left join GROUPS "+
"on CART.GROUP_NAME=GROUPS.NAME where "+
"("+GetSearchFilter(cart_filter_edit->text(),group,schedcode)+")&&"+
QString().sprintf("(TYPE=%d)",cart_type);
}
if(cart_limit_box->isChecked()) {
sql+=QString().sprintf(" limit %d",RD_LIMITED_CART_SEARCH_QUANTITY);
@@ -810,8 +828,8 @@ void RDCartDialog::BuildGroupList()
sql+=" where ";
for(int i=0;i<cart_service_quan;i++) {
if(!cart_service[i].isEmpty()) {
sql+=QString().sprintf("(SERVICE_NAME=\"%s\")||",
(const char *)cart_service[i]);
sql+=QString("(SERVICE_NAME=\"")+
RDEscapeString(cart_service[i])+"\")||";
}
}
sql=sql.left(sql.length()-2);
@@ -879,14 +897,13 @@ QString RDCartDialog::GetSearchFilter(const QString &filter,
//
sql=QString().sprintf("select NAME from GROUPS where ");
for(int i=1;i<cart_group_box->count();i++) {
sql+=QString().sprintf("(NAME!=\"%s\")&&",
(const char *)cart_group_box->text(i));
sql+=QString("(NAME!=\"")+RDEscapeString(cart_group_box->text(i))+"\")&&";
}
sql=sql.left(sql.length()-2);
q=new RDSqlQuery(sql);
while(q->next()) {
search+=QString().sprintf("&&(GROUP_NAME!=\"%s\")",
(const char *)q->value(0).toString());
search+=QString("&&(GROUP_NAME!=\"")+
RDEscapeString(q->value(0).toString())+"\")";
}
delete q;
return search;
@@ -896,8 +913,9 @@ QString RDCartDialog::StateFile() {
bool home_found = false;
QString home = RDGetHomeDir(&home_found);
if (home_found) {
return QString().sprintf("%s/.rdcartdialog",(const char *)home);
} else {
return home+"/.rdcartdialog";
}
else {
return NULL;
}
}