void EditJack::okData() { QString sql; RDSqlQuery *q; RDListViewItem *item=NULL; edit_station->setStartJack(edit_start_jack_box->isChecked()); if(edit_jack_server_name_edit->text()==EDITJACK_DEFAULT_SERVERNAME) { edit_station->setJackServerName(""); } else { edit_station->setJackServerName(edit_jack_server_name_edit->text()); } edit_station->setJackCommandLine(edit_jack_command_line_edit->text()); item=(RDListViewItem *)edit_jack_client_view->firstChild(); while(item!=NULL) { sql=QString("update JACK_CLIENTS set DESCRIPTION=\"")+ RDEscapeString(item->text(0))+"\",COMMAND_LINE=\""+ RDEscapeString(item->text(1))+"\" where ID="+ QString().sprintf("%d",item->id()); q=new RDSqlQuery(sql); delete q; item=(RDListViewItem *)item->nextSibling(); } done(0); }
// // Global Classes // RDDeck::RDDeck(QString station,unsigned channel,bool create) { RDSqlQuery *q; QString sql; deck_station=station; deck_channel=channel; if(create) { sql=QString("select ID from DECKS where ")+ "(STATION_NAME=\""+RDEscapeString(deck_station)+"\")&&"+ QString().sprintf("(CHANNEL=%d)",deck_channel); q=new RDSqlQuery(sql); if(q->size()!=1) { delete q; sql=QString(). sprintf("insert into DECKS set ")+ "STATION_NAME=\""+RDEscapeString(deck_station)+"\","+ QString().sprintf("CHANNEL=%d",deck_channel); q=new RDSqlQuery(sql); delete q; } else { delete q; } } }
QString ListVguestResources::ModelSql(RDMatrix::VguestType type) const { QString sql; switch(type) { case RDMatrix::VguestTypeRelay: sql=QString("select ")+ "NUMBER,"+ "ENGINE_NUM,"+ "DEVICE_NUM,"+ "SURFACE_NUM,"+ "RELAY_NUM "+ "from VGUEST_RESOURCES where "+ "(STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\")&&"+ QString().sprintf("(MATRIX_NUM=%d)&&",list_matrix->matrix())+ QString().sprintf("(VGUEST_TYPE=%d) ",list_type)+ "order by NUMBER"; break; case RDMatrix::VguestTypeDisplay: sql=QString("select ")+ "NUMBER,"+ "ENGINE_NUM,"+ "DEVICE_NUM,"+ "SURFACE_NUM "+ "from VGUEST_RESOURCES where "+ "(STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\")&&"+ QString().sprintf("(MATRIX_NUM=%d)&&",list_matrix->matrix())+ QString().sprintf("(VGUEST_TYPE=%d) ",list_type)+ "order by NUMBER"; break; } return sql; }
void MainObject::Revert259() const { QString sql; QSqlQuery *q; QSqlQuery *q1; for(int i=0;i<168;i++) { sql=QString().sprintf("alter table SERVICES add column CLOCK%d char(64)",i); q=new QSqlQuery(sql); delete q; } sql=QString("select SERVICE_NAME,HOUR,CLOCK_NAME from SERVICE_CLOCKS"); q=new QSqlQuery(sql); while(q->next()) { sql=QString("update SERVICES set ")+ QString().sprintf("CLOCK%d=",q->value(1).toInt()); if(q->value(2).isNull()) { sql+="null "; } else { sql+="\""+RDEscapeString(q->value(2).toString())+"\" "; } sql+="where NAME=\""+RDEscapeString(q->value(0).toString())+"\""; q1=new QSqlQuery(sql); delete q1; } delete q; sql=QString("drop table SERVICE_CLOCKS"); q=new QSqlQuery(sql); delete q; SetVersion(258); }
// // Global Classes // RDTty::RDTty(const QString &station,unsigned port_id,bool create) { RDSqlQuery *q; QString sql; tty_station=station; tty_id=port_id; if(create) { sql=QString("select ID from TTYS where ")+ "(STATION_NAME=\""+RDEscapeString(tty_station)+"\")&&"+ QString().sprintf("(PORT_ID=%d)",tty_id); q=new RDSqlQuery(sql); if(q->size()!=1) { delete q; sql=QString().sprintf("insert into TTYS set ")+ "STATION_NAME=\""+RDEscapeString(tty_station)+"\","+ QString().sprintf("PORT_ID=%d",tty_id); q=new RDSqlQuery(sql); delete q; } else { delete q; } } }
void RDLog::updateLinkQuantity(RDLog::Source src) const { QString sql; RDSqlQuery *q; switch(src) { case RDLog::SourceMusic: sql=QString("select ID from `")+RDLog::tableName(log_name)+ "` where "+QString().sprintf("TYPE=%d",RDLogLine::MusicLink); q=new RDSqlQuery(sql); sql=QString("update LOGS set ")+ QString().sprintf("MUSIC_LINKS=%d ",q->size())+ "where NAME=\""+RDEscapeString(log_name)+"\""; break; case RDLog::SourceTraffic: sql=QString("select ID from `")+RDLog::tableName(log_name)+ "` where "+QString().sprintf("TYPE=%d",RDLogLine::TrafficLink); q=new RDSqlQuery(sql); sql=QString("update LOGS set ")+ QString().sprintf("TRAFFIC_LINKS=%d ",q->size())+ "where NAME=\""+RDEscapeString(log_name)+"\""; break; default: return; } delete q; q=new RDSqlQuery(sql); delete q; }
void MainObject::Revert251() const { QString sql; QSqlQuery *q; QSqlQuery *q1; QSqlQuery *q2; if(rev_use_deadzone) { sql=QString("select NAME from CLOCKS"); q=new QSqlQuery(sql); while(q->next()) { sql=RDCreateClockTableSql(RDClock::tableName(q->value(0).toString())); q1=new QSqlQuery(sql); delete q1; sql=QString("select EVENT_NAME,START_TIME,LENGTH from CLOCK_METADATA ")+ "where CLOCK_NAME=\""+RDEscapeString(q->value(0).toString())+"\" "+ "order by START_TIME"; q1=new QSqlQuery(sql); while(q1->next()) { sql=QString("insert into `")+ RDClock::tableName(q->value(0).toString())+"` set "+ "EVENT_NAME=\""+RDEscapeString(q1->value(0).toString())+"\","+ QString().sprintf("START_TIME=%d,",q1->value(1).toInt())+ QString().sprintf("LENGTH=%d",q1->value(2).toInt()); q2=new QSqlQuery(sql); delete q2; } delete q1; } delete q; } SetVersion(250); }
void MainObject::Saveas(const QString &logname) { QString sql; RDSqlQuery *q; RDLog *log=new RDLog(logname); if(!log->exists()) { sql=QString("insert into LOGS set ")+ "NAME=\""+RDEscapeString(logname)+"\","+ "TYPE=0,"+ "DESCRIPTION=\""+RDEscapeString(edit_description)+"\","+ "ORIGIN_USER=\""+RDEscapeString(rda->user()->name())+"\","+ "ORIGIN_DATETIME=now(),"+ "LINK_DATETIME=now(),"+ "MODIFIED_DATETIME=now(),"+ "START_DATE="+RDCheckDateTime(edit_start_date,"yyyy-MM-dd")+","+ "END_DATE="+RDCheckDateTime(edit_end_date,"yyyy-MM-dd")+","+ "PURGE_DATE="+RDCheckDateTime(edit_purge_date,"yyyy-MM-dd")+","+ "AUTO_REFRESH=\""+RDYesNo(edit_auto_refresh)+"\","+ "SERVICE=\""+RDEscapeString(edit_service)+"\""; q=new RDSqlQuery(sql); delete q; RDCreateLogTable(RDLog::tableName(logname)); edit_log_event->setLogName(RDLog::tableName(logname)); edit_log_event->save(); delete edit_log; edit_log=log; edit_modified=false; edit_new_log=false; } else { fprintf(stderr,"saveas: log already exists\n"); delete log; } }
QVariant RDGetSqlValue(const QString &table, const QString &name1,const QString &test1, const QString &name2,const QString &test2, const QString &name3,const QString &test3, const QString ¶m,QSqlDatabase *db,bool *valid) { RDSqlQuery *q; QString sql; QVariant v; sql="select `"+param+"` from `"+table+"` where "+ "(`"+name1+"`=\""+RDEscapeString(test1)+"\")&&"+ "(`"+name2+"`=\""+RDEscapeString(test1)+"\")&&"+ "(`"+name3+"`=\""+RDEscapeString(test1)+"\")"; q=new RDSqlQuery(sql,db); if(q->isActive()) { q->first(); v=q->value(0); if(valid!=NULL) { *valid=!q->isNull(0); } delete q; return v; } delete q; return QVariant(); }
void MainWidget::RefreshList() { RDSqlQuery *q; QString sql; ListListViewItem *item; log_log_list->clear(); // Note: clear here, in case user has no perms. sql=QString("select NAME from LOGS where ")+ "(TYPE=0)&&"+ "(LOG_EXISTS=\"Y\")"; if(log_service_box->currentItem()!=0) { sql+="&&(SERVICE=\""+RDEscapeString(log_service_box->currentText())+"\")"; } QString filter=log_filter_edit->text(); if(!filter.isEmpty()) { sql+="&&((NAME like \"%%"+RDEscapeString(filter)+"%%\")||"; sql+="(DESCRIPTION like \"%%"+RDEscapeString(filter)+"%%\")||"; sql+="(SERVICE like \"%%"+RDEscapeString(filter)+"%%\"))"; } if(log_recent_check->isChecked()) { sql+=QString().sprintf("order by ORIGIN_DATETIME desc limit %d", RDLOGEDIT_LIMIT_QUAN); } q=new RDSqlQuery(sql); while(q->next()) { item=new ListListViewItem(log_log_list); item->setText(1,q->value(0).toString()); RefreshItem(item); } delete q; }
void AddEncoder::okData() { QString sql; RDSqlQuery *q; sql=QString().sprintf("select NAME from ENCODERS \ where (NAME=\"%s\")&&(STATION_NAME=\"%s\")", (const char *)RDEscapeString(encoder_name_edit->text()), (const char *)RDEscapeString(encoder_stationname)); q=new RDSqlQuery(sql); if(q->first()) { QMessageBox::warning(this,tr("Add Encoder Error"), tr("A encoder with that name already exists!")); delete q; return; } delete q; // // Create Encoder // sql=QString().sprintf("insert into ENCODERS set NAME=\"%s\",\ STATION_NAME=\"%s\"", (const char *)RDEscapeString(encoder_name_edit->text()), (const char *)RDEscapeString(encoder_stationname)); q=new RDSqlQuery(sql); delete q; *encoder_name=encoder_name_edit->text(); done(0); }
void ListEncoders::addData() { QString name; QString sql; RDSqlQuery *q; RDSqlQuery *q1; AddEncoder *ad=new AddEncoder(&name,list_stationname,this); if(ad->exec()==0) { sql=QString().sprintf("select ID from ENCODERS \ where (NAME=\"%s\")&&(STATION_NAME=\"%s\")", (const char *)RDEscapeString(name), (const char *)RDEscapeString(list_stationname)); q=new RDSqlQuery(sql); if(q->first()) { EditEncoder *ee=new EditEncoder(q->value(0).toInt()); if(ee->exec()==0) { RDListViewItem *item=new RDListViewItem(list_list_view); item->setId(q->value(0).toInt()); item->setText(0,name); RefreshItem(item); list_list_view->ensureItemVisible(item); } else { sql=QString().sprintf("delete from ENCODERS \ where (NAME=\"%s\")&&(STATION_NAME=\"%s\")", (const char *)RDEscapeString(name), (const char *)RDEscapeString(list_stationname)); q1=new RDSqlQuery(sql); delete q1; } delete ee; }
QString RDCartDialog::GetSearchFilter(const QString &filter, const QString &group, const QString &schedcode) { QString sql; RDSqlQuery *q; QString sched=""; if(schedcode!=tr("ALL")) { sched=schedcode; } QString search=RDCartSearchText(filter,group,sched,false).utf8(); // // Excluded Groups // sql=QString().sprintf("select NAME from GROUPS where "); for(int i=1;i<cart_group_box->count();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("&&(GROUP_NAME!=\"")+ RDEscapeString(q->value(0).toString())+"\")"; } delete q; return search; }
void MainObject::Revert252() const { QString sql; QSqlQuery *q; QSqlQuery *q1; QSqlQuery *q2; if(rev_use_deadzone) { sql=QString("select NAME from EVENTS"); q=new QSqlQuery(sql); while(q->next()) { RDCreateLogTable(RDEvent::preimportTableName(q->value(0).toString())); sql=QString("select COUNT,TYPE,TRANS_TYPE,CART_NUMBER,TEXT ")+ "from EVENT_METADATA where "+ "(EVENT_NAME=\""+RDEscapeString(q->value(0).toString())+"\")&&"+ "(PLACE=0)"; q1=new QSqlQuery(sql); while(q1->next()) { sql=QString("insert into `")+ RDEvent::preimportTableName(q->value(0).toString())+"` set "+ QString().sprintf("COUNT=%d,",q1->value(0).toInt())+ QString().sprintf("TYPE=%d,",q1->value(1).toInt())+ QString().sprintf("TRANS_TYPE=%d,",q1->value(2).toInt())+ QString().sprintf("CART_NUMBER=%u,",q1->value(3).toUInt())+ "COMMENT=\""+RDEscapeString(q1->value(4).toString())+"\""; q2=new QSqlQuery(sql); delete q2; } delete q1; RDCreateLogTable(RDEvent::postimportTableName(q->value(0).toString())); sql=QString("select COUNT,TYPE,TRANS_TYPE,CART_NUMBER,TEXT ")+ "from EVENT_METADATA where "+ "(EVENT_NAME=\""+RDEscapeString(q->value(0).toString())+"\")&&"+ "(PLACE=1)"; q1=new QSqlQuery(sql); while(q1->next()) { sql=QString("insert into `")+ RDEvent::postimportTableName(q->value(0).toString())+"` set "+ QString().sprintf("COUNT=%d,",q1->value(0).toInt())+ QString().sprintf("TYPE=%d,",q1->value(1).toInt())+ QString().sprintf("TRANS_TYPE=%d,",q1->value(2).toInt())+ QString().sprintf("CART_NUMBER=%u,",q1->value(3).toUInt())+ "COMMENT=\""+RDEscapeString(q1->value(4).toString())+"\""; q2=new QSqlQuery(sql); delete q2; } delete q1; } delete q; } sql=QString("drop table EVENT_METADATA"); q=new QSqlQuery(sql); delete q; SetVersion(251); }
void RDStation::SetRow(const QString ¶m,const QString &value) const { RDSqlQuery *q; QString sql; sql=QString("update STATIONS set ")+ param+"=\""+RDEscapeString(value)+"\" where "+ "NAME=\""+RDEscapeString(station_name)+"\""; q=new RDSqlQuery(sql); delete q; }
void EditNode::okData() { QString sql; RDSqlQuery *q; if(edit_password_changed) { edit_password=edit_password_edit->text(); } if((*edit_id)<0) { sql=QString("select ID from SWITCHER_NODES where ")+ "(STATION_NAME=\""+RDEscapeString(edit_matrix->station())+"\") && "+ QString().sprintf("(MATRIX=%d) && ",edit_matrix->matrix())+ "(HOSTNAME=\""+RDEscapeString(edit_hostname_edit->text())+"\") && "+ QString().sprintf("(TCP_PORT=%d)",edit_tcpport_spin->value()); q=new RDSqlQuery(sql); if(q->first()) { delete q; QMessageBox::warning(this,tr("Duplicate Node"), tr("That node is already listed for this matrix!")); return; } delete q; sql="select ID from SWITCHER_NODES order by ID desc"; q=new RDSqlQuery(sql); if(q->first()) { *edit_id=q->value(0).toInt()+1; } else { *edit_id=1; } delete q; sql=QString("insert into SWITCHER_NODES set ")+ QString().sprintf("ID=%d,",*edit_id)+ "STATION_NAME=\""+RDEscapeString(edit_matrix->station())+"\","+ QString().sprintf("MATRIX=%d,",edit_matrix->matrix())+ "HOSTNAME=\""+RDEscapeString(edit_hostname_edit->text())+"\","+ QString().sprintf("TCP_PORT=%d,",edit_tcpport_spin->value())+ "DESCRIPTION=\""+RDEscapeString(edit_description_edit->text())+"\""+ QString().sprintf("BASE_OUTPUT=%d,",edit_output_spin->value())+ "PASSWORD=\""+RDEscapeString(edit_password)+"\""; q=new RDSqlQuery(sql); delete q; } else { sql=QString("update SWITCHER_NODES set ")+ "HOSTNAME=\""+RDEscapeString(edit_hostname_edit->text())+"\","+ QString().sprintf("TCP_PORT=%d,",edit_tcpport_spin->value())+ "DESCRIPTION=\""+RDEscapeString(edit_description_edit->text())+"\","+ QString().sprintf("BASE_OUTPUT=%d,",edit_output_spin->value())+ "PASSWORD=\""+RDEscapeString(edit_password)+"\" where "+ QString().sprintf("ID=%d",*edit_id); q=new RDSqlQuery(sql); delete q; } done(0); }
void RDStation::SetRow(const QString ¶m,const QString &value) const { RDSqlQuery *q; QString sql; sql=QString().sprintf("UPDATE STATIONS SET %s=\"%s\" WHERE NAME=\"%s\"", (const char *)param, (const char *)RDEscapeString(value), (const char *)RDEscapeString(station_name)); q=new RDSqlQuery(sql); delete q; }
void RDTty::SetRow(const QString ¶m,const QString &value) { RDSqlQuery *q; QString sql; sql=QString("update TTYS set ")+ param+"=\""+RDEscapeString(value)+"\" where "+ "(STATION_NAME=\""+RDEscapeString(tty_station)+"\")&&"+ QString().sprintf("(PORT_ID=%d)",tty_id); q=new RDSqlQuery(sql); delete q; }
void RDDeck::SetRow(const QString ¶m,const QString &value) const { RDSqlQuery *q; QString sql; sql=QString("update DECKS set ")+ param+"=\""+RDEscapeString(value)+"\" where "+ "(STATION_NAME=\""+RDEscapeString(deck_station)+"\")&&"+ QString().sprintf("(CHANNEL=%d)",deck_channel); q=new RDSqlQuery(sql); delete q; }
void MainWidget::addData() { QString logname; QString svcname; RDSqlQuery *q; QString sql; std::vector<QString> newlogs; RDAddLog *log; if(rda->user()->createLog()) { log=new RDAddLog(&logname,&svcname,NULL,tr("Add Log"),this); if(log->exec()!=0) { delete log; return; } delete log; sql=QString("insert into LOGS set ")+ "NAME=\""+RDEscapeString(logname)+"\","+ "TYPE=0,"+ "DESCRIPTION=\""+RDEscapeString(logname)+" log\","+ #ifdef WIN32 "ORIGIN_USER=\""+RDEscapeString(RD_USER_LOGIN_NAME)+"\","+ #else "ORIGIN_USER=\""+RDEscapeString(rda->ripc()->user())+"\","+ #endif // WIN32 "ORIGIN_DATETIME=now(),"+ "LINK_DATETIME=now(),"+ "SERVICE=\""+RDEscapeString(svcname)+"\""; q=new RDSqlQuery(sql); if(!q->isActive()) { QMessageBox::warning(this,tr("Log Exists"),tr("Log Already Exists!")); delete q; return; } delete q; RDCreateLogTable(RDLog::tableName(logname)); EditLog *editlog=new EditLog(logname,&log_filter,&log_group,&log_schedcode, &log_clipboard,&newlogs,this); editlog->exec(); delete editlog; ListListViewItem *item=new ListListViewItem(log_log_list); item->setText(1,logname); RefreshItem(item); log_log_list->setSelected(item,true); log_log_list->ensureItemVisible((Q3ListViewItem *)item); for(unsigned i=0;i<newlogs.size();i++) { item=new ListListViewItem(log_log_list); item->setText(1,newlogs[i]); RefreshItem(item); } } }
QStringList EditDecks::GetActiveOutputMatrices() { QStringList ret; QString sql; RDSqlQuery *q; RDSqlQuery *q1; edit_matrix_ids.clear(); sql=QString("select TYPE,NAME,OUTPUTS,MATRIX from MATRICES where ")+ "STATION_NAME=\""+RDEscapeString(edit_station->name())+"\""; q=new RDSqlQuery(sql); while(q->next()) { switch((RDMatrix::Type)q->value(0).toInt()) { case RDMatrix::LiveWireLwrpAudio: sql=QString("select HOSTNAME,PASSWORD,TCP_PORT,BASE_OUTPUT ")+ "from SWITCHER_NODES "+ "where (STATION_NAME=\""+RDEscapeString(edit_station->name())+"\")&& "+ QString().sprintf("(MATRIX=%d) ",q->value(3).toInt())+ "order by BASE_OUTPUT desc"; q1=new RDSqlQuery(sql); if(q1->first()) { RDLiveWire *lw=new RDLiveWire(0,this); if(!lw->loadSettings(q1->value(0).toString(),q1->value(2).toUInt(), q1->value(1).toString(),q1->value(3).toInt())) { QMessageBox::warning(this,tr("RDAdmin - "+tr("Connection Error")), tr("Unable to connect to node at")+" \""+ q1->value(0).toString()+"\"."+ tr("Check that the unit is online and try again.")); delete lw; return ret; } ret.push_back(q->value(1).toString()+ " ["+RDMatrix::typeString((RDMatrix::Type)q->value(0).toInt())+"]"); delete lw; edit_matrix_ids.push_back(q->value(3).toInt()); } delete q1; break; default: if(q->value(2).toInt()>0) { ret.push_back(q->value(1).toString()+ " ["+RDMatrix::typeString((RDMatrix::Type)q->value(0).toInt())+"]"); edit_matrix_ids.push_back(q->value(3).toInt()); } break; } } delete q; return ret; }
void RDCatchConf::SetRow(const QString ¶m,const QString &value) const { RDSqlQuery *q; QString sql; sql=QString(). sprintf("UPDATE RDCATCH SET %s=\"%s\" WHERE STATION=\"%s\"", (const char *)param, (const char *)RDEscapeString(value), (const char *)RDEscapeString(air_station)); q=new RDSqlQuery(sql); delete q; }
void RDLogeditConf::getSettings(RDSettings *s) const { QString sql; RDSqlQuery *q; sql=QString("select ")+ "DEFAULT_CHANNELS,"+ "SAMPRATE,"+ "FORMAT,"+ "BITRATE,"+ "RIPPER_LEVEL,"+ "TRIM_THRESHOLD "+ "from RDLOGEDIT where "+ "STATION=\""+RDEscapeString(lib_station)+"\""; q=new RDSqlQuery(sql); s->clear(); if(q->first()) { s->setChannels(q->value(0).toUInt()); s->setSampleRate(q->value(1).toUInt()); switch(q->value(2).toInt()) { case 0: s->setFormat(RDSettings::Pcm16); break; case 1: s->setFormat(RDSettings::MpegL2); break; } s->setBitRate(q->value(3).toUInt()); s->setNormalizationLevel(q->value(4).toUInt()); s->setAutotrimLevel(q->value(5).toUInt()); } delete q; }
void RDEndPoint::SetRow(const QString ¶m,const QString &value) const { QString sql=QString("update ")+end_table+" set "+ param+"=\""+RDEscapeString(value)+"\" where "+ QString().sprintf("ID=%d",end_id); RDSqlQuery::run(sql); }
void RDLog::updateTracks() { QString sql; RDSqlQuery *q; unsigned scheduled=0; unsigned completed=0; sql=QString().sprintf("select NUMBER from CART where OWNER=\"%s\"", (const char *)RDEscapeString(log_name)); q=new RDSqlQuery(sql); completed=q->size(); delete q; sql=QString("select ID from `")+RDLog::tableName(log_name)+ "` where "+QString().sprintf("TYPE=%d",RDLogLine::Track); q=new RDSqlQuery(sql); scheduled=q->size()+completed; delete q; sql=QString().sprintf("update LOGS set SCHEDULED_TRACKS=%d,\ COMPLETED_TRACKS=%u where NAME=\"%s\"", scheduled,completed, (const char *)RDEscapeString(log_name)); q=new RDSqlQuery(sql); delete q; }
// // Global Classes // RDLog::RDLog(const QString &name,bool create) { RDSqlQuery *q; QString sql; log_name=name; if(create) { sql=QString().sprintf("select NAME from LOGS where \ (NAME=\"%s\")",(const char *)RDEscapeString(log_name)); q=new RDSqlQuery(sql); if(q->size()!=1) { delete q; sql=QString(). sprintf("INSERT INTO LOGS SET NAME=\"%s\",ORIGIN_DATETIME=NOW(),\ LINK_DATETIME=NOW(),MODIFIED_DATETIME=now()", (const char *)RDEscapeString(log_name)); q=new RDSqlQuery(sql); delete q; } else { delete q; } } }
int RDStation::cards() const { int n=0; QString sql=QString("select ")+ "CARD0_DRIVER,"+ "CARD1_DRIVER,"+ "CARD2_DRIVER,"+ "CARD3_DRIVER,"+ "CARD4_DRIVER,"+ "CARD5_DRIVER,"+ "CARD6_DRIVER,"+ "CARD7_DRIVER "+ "from STATIONS where "+ "NAME=\""+RDEscapeString(station_name)+"\""; RDSqlQuery *q=new RDSqlQuery(sql); if(q->first()) { for(int i=0;i<RD_MAX_CARDS;i++) { if((RDStation::AudioDriver)q->value(i).toInt()!=RDStation::None) { n++; } else { delete q; return n; } } } delete q; return n; }
void EditEventLine::okData() { if(edit_starttime_edit->time()>edit_endtime_edit->time()) { QMessageBox::information(this,tr("Invalid Event"), tr("The event end time cannot be earlier than the start time.")); return; } QString sql=QString("select NAME from EVENTS where ")+ "NAME=\""+RDEscapeString(edit_eventname_edit->text())+"\""; RDSqlQuery *q=new RDSqlQuery(sql); if(!q->first()) { QMessageBox::information(this,tr("No Such Event"), tr("There is no such event.")); delete q; return; } edit_eventname_edit->setText(q->value(0).toString()); delete q; if(!edit_clock->validate(edit_starttime_edit->time(), edit_starttime_edit->time(). msecsTo(edit_endtime_edit->time()), edit_line)) { QMessageBox::information(this,tr("Invalid Event"), tr("This event overlaps with an\nalready existing event.")); return; } edit_eventline->setName(edit_eventname_edit->text()); edit_eventline->setStartTime(edit_starttime_edit->time()); edit_eventline-> setLength(edit_starttime_edit->time().msecsTo(edit_endtime_edit->time())); done(0); }
int EditDecks::GetOutput() { int output=-1; QString sql=QString("select NUMBER from OUTPUTS where ")+ "(STATION_NAME=\""+RDEscapeString(edit_swstation_box->currentText())+ "\")&&"+ QString().sprintf("(MATRIX=%d)&&",GetMatrix())+ "(NAME=\""+RDEscapeString(edit_swoutput_box->currentText())+"\")"; RDSqlQuery *q=new RDSqlQuery(sql); if(q->first()) { output=q->value(0).toInt(); } delete q; return output; }
unsigned RDCartSlot::SelectCart(const QString &svcname,unsigned msecs) { QString sql; RDSqlQuery *q; unsigned cartnum=0; int diff=1000000; sql=QString("select AUTOFILLS.CART_NUMBER,CART.FORCED_LENGTH from ")+ "AUTOFILLS left join CART on AUTOFILLS.CART_NUMBER=CART.NUMBER"+ QString(). sprintf(" where (CART.FORCED_LENGTH>%u)&&(CART.FORCED_LENGTH<%u)&&", (unsigned)((double)msecs*RD_TIMESCALE_MIN), (unsigned)((double)msecs*RD_TIMESCALE_MAX))+ "(SERVICE=\""+RDEscapeString(svcname)+"\")"; q=new RDSqlQuery(sql); while(q->next()) { int cur_diff = msecs-q->value(1).toInt(); if(::abs(cur_diff)<diff) { cartnum=q->value(0).toUInt(); diff=::abs(cur_diff); } } delete q; return cartnum; }