Pesquisa no Banco de Dados com valor de SelectField flask

Criei um campo de pesquisa usando SelectField mas ele não mostra o resultado no templates. o que estou fazendo de errado

Meu form

class FiltroForm(FlaskForm):     filtro = SelectField('Escolha a cidade', choices=[('Aracaju (SBAR)', 'Aracaju (SBAR)'), ('Aracaju (SBAR)', 'Aracaju (SBAR)'), ('Belém (SBBE)', 'Belém (SBBE)')])     submit = SubmitField('Selecionar') 

Banco de dados

class Listadevoo(db.Model):     id = db.Column(db.Integer, primary_key=True)     voo = db.Column(db.String(120))     origem = db.Column(db.String(120))     destino = db.Column(db.String(120))     aeronave = db.Column(db.String(120))     partida = db.Column(db.String(120))     chegada = db.Column(db.String(120)) 

Minha rota

@app.route('/voo', methods=["GET", "POST"]) def voo():     form = FiltroForm()         post = Listadevoo.query.filter_by(origem=form.filtro.data).all()     if form.validate_on_submit():         return redirect(url_for('voo'))     return render_template('voo.html', form=form, post=post) 

Templates

<div class="container-fluid">         <h1>voo</h1>         <form method="post" action="">           {{ form.hidden_tag() }}                 <p>{{ form.filtro.label }} {{ form.filtro }} {{ form.submit }}</p>        <hr>        <table>         <tr>           <th>Voo</th>           <th>Origem</th>           <th>Destino</th>           <th>Aeronave</th>           <th>Partida</th>           <th>Chegada</th>                   </tr>         {% for post in post %}         <tr>           <td>{{ post.voo }}</td>           <td>{{ post.origem }}</td>           <td>{{ post.destino }}</td>           <td><font color="#e3068f">{{ post.aeronave }}</font></td>           <td>{{ post.partida }}</td>           <td>{{ post.chegada }}</td>         </tr>         {% endfor %}       </table>          </div> 

Uma observação se eu remover form.filtro.data e colocar uma string ele mostra o resultado. Mas gostaria de usar aa função SelectField

@app.route('/voo', methods=["GET", "POST"]) def voo():     form = FiltroForm()         post = Listadevoo.query.filter_by(origem='São Paulo (SBSP)').all()     if form.validate_on_submit():         return redirect(url_for('voo'))     return render_template('voo.html', form=form, post=post) 

inserir a descrição da imagem aqui

Salvar campos nulos no banco de dados com .NET

Estou criando uma nova rotina de cadastro no meu site, e em determinado momento certos campos no formulário não precisam ser preenchidos, portanto retornam nulos.

Porém, não consigo gravar esses dados nulos no meu banco de dados SQL.

Como solução, pensei em criar um if e passar um valor vazio (” “) caso estes valores sejam nulos. Funcionou, mas eu preciso preencher muitas colunas, e dessa maneira teria que criar muitas estruturas de IF no código.

                if (model.HoraOcorrencia == null)             {                 HoraOcorrencia = "";             }             else             {                 HoraOcorrencia = model.HoraOcorrencia;             } 

Qual seria a maneira mais curta para executar esse processo?

Erro na transmissão de dados de um form para uma tr usando objeto

tenho o seguinte código:

const addFormTask = (el, id) => {      let element = document.querySelector(el);      element.innerHTML =      `         <div id="form-$  {id}">             <form class="form-task" style="width: 100%">                 <div class="form-group">                     <input type="text" class="form-control" name="name" id="addTask" placeholder="Add Task" required>                 </div>                 <div class="d-flex">                     <div class="form-check mr-3">                         <input class="form-check-input" name="priority" type="radio" value="priority1" id="priority1">                         <label class="form-check-label" for="priority1">                             1                         </label>                     </div>                     <div class="form-check mr-3">                         <input class="form-check-input" name="priority" type="radio" value="priority2" id="priority2">                         <label class="form-check-label" for="priority2">                             2                         </label>                     </div>                     <div class="form-check">                         <input class="form-check-input" name="priority" type="radio" value="priority3" id="priority3">                         <label class="form-check-label" for="priority3">                             3                         </label>                     </div>                 </div>                                  <div>                     <button type="submit" class="btn btn-success mr-2" id="btn-add$  {id}">Add Task</button>                     <button class="btn btn-secondary border-0" id="btn-cancel$  {id}">Cancel</button>                 </div>             </form>         </div>     `;  }

Esse componente é criado quando eu quero adicionar uma atividade no meu TodoList. Quando clico no botão Add Task o método getDataForm() é chamado:

... if(textBtn == `add$  {_id}`) {                      let fields = document.querySelectorAll('.form-task [name]');                     this.getDataForm('.form-task', fields, _id);                     // this.addTaskTr(`.task-body$  {_id}`, dataTask);                  } else ... 

Esse é o método getDataForm():

getDataForm(formBtn, fields, id) {           let elementForm = document.querySelector(formBtn);         let task = {};          elementForm.addEventListener("submit", event => {              event.preventDefault();             fields.forEach((field, index) => {                  if(field.name == 'priority') {                      if(field.checked) {                          task[field.name] = field.value;                      }                   } else {                                               task[field.name] = field.value;                  }              });          });          // let taskObject = new Task(task[name]);                  console.log(task);         console.log(task.name);         // console.log(taskObject);         // this.addTaskTr(`.task-body$  {id}`, task);      }

Esse é o resultado no console:

inserir a descrição da imagem aqui

Não sei oq estou fazendo de errado nesse ponto, já tentei várias possibilidades. Tenho pouca experiência no JavaScript e aceito críticas e dicas na reformulação do código.

Estou usando o Webpack para compilar meus módulos.

Desenvolvimento Android como criar uma conexão com Banco de dados Mysql [pendente]

Sou nova no desenvolvimento Android e estou tendo problemas quanto ao armazenamento de dados pois estou fazendo um projeto onde o app precisa pegar os dados de um banco de dados MySQL, porém sei que não é recomendado fazer isso diretamente. Então eu optei por fazer isso usando uma API como intermediária (gerenciando os dados) entre o app e o Banco de dados. O banco de dados já foi criado e existe uma porta específica que eu deveria usar para acessar o banco. Mas não sei como fazer isso.

Uso Android Studio Linguagem Java

Gravar dados de um usuário usando realtime database

Estou querendo gravar uma questão em usuário específico usando o realtime database, porém está dando erro.

Classe modelo:

public class Questao implements Serializable {  String id; String descricao; String alternativaA; String alternativaB; String alternativaC; String alternativaD; String alternativaCerta; String materia; String dificult; Integer xp; Integer performace;   public Questao(){  }  public Questao(String id, String descricao, String alternativaA, String alternativaB, String alternativaC, String alternativaD,                String alternativaCerta, String materia, String dificult, Integer xp, Integer performace) {     this.id = id;     this.descricao = descricao;     this.alternativaA = alternativaA;     this.alternativaB = alternativaB;     this.alternativaC = alternativaC;     this.alternativaD = alternativaD;     this.alternativaCerta = alternativaCerta;     this.materia = materia;     this.dificult = dificult;     this.xp = xp;     this.performace = performace; }  public String getId() {     return id; }  public void setId(String id) {     this.id = id; }  public String getDescricao() {     return descricao; }  public void setDescricao(String descricao) {     this.descricao = descricao; }  public String getAlternativaA() {     return alternativaA; }  public void setAlternativaA(String alternativaA) {     this.alternativaA = alternativaA; }  public String getAlternativaB() {     return alternativaB; }  public void setAlternativaB(String alternativaB) {     this.alternativaB = alternativaB; }  public String getAlternativaC() {     return alternativaC; }  public void setAlternativaC(String alternativaC) {     this.alternativaC = alternativaC; }  public String getAlternativaD() {     return alternativaD; }  public void setAlternativaD(String alternativaD) {     this.alternativaD = alternativaD; }  public String getAlternativaCerta() {     return alternativaCerta; }  public void setAlternativaCerta(String alternativaCerta) {     this.alternativaCerta = alternativaCerta; }  public String getMateria() {     return materia; }  public void setMateria(String materia) {     this.materia = materia; }  public String getDificult() {     return dificult; }  public void setDificult(String dificult) {     this.dificult = dificult; }  public Integer getXp() {     return xp; }  public void setXp(Integer xp) {     this.xp = xp; }  public Integer getPerformace() {     return performace; }  public void setPerformace(Integer performace) {     this.performace = performace; }  @Override public String toString() {     return "Questao{" +             "id='" + id + '\'' +             ", descricao='" + descricao + '\'' +             ", alternativaA='" + alternativaA + '\'' +             ", alternativaB='" + alternativaB + '\'' +             ", alternativaC='" + alternativaC + '\'' +             ", alternativaD='" + alternativaD + '\'' +             ", alternativaCerta='" + alternativaCerta + '\'' +             ", materia='" + materia + '\'' +             ", dificult=" + dificult +             ", xp=" + xp +             ", performace=" + performace +             '}';     } } 

O código para incluir:

public static FirebaseDatabase database; public static DatabaseReference questaoFB; public static FirebaseUser usuario;  public static void conectar() {     database = FirebaseDatabase.getInstance();     usuario = FirebaseAuth.getInstance().getCurrentUser();     questaoFB = database.getReference("users").child(usuario.getUid()).child("questoes");  }  public static void incluir(Questao questao) {     conectar();     String id = questaoFB.push().getKey();     questao.setId(id);     questaoFB.child(questao.getId()).setValue(questao); } 

Regras do realtime database:

{     "rules":{         "users":{             "$  uid":{                 "questoes":{                     ".read": "$  uid === auth.uid",                     ".write": "$  uid === auth.uid"                 },                 "data":{                     ".read": "$  uid === auth.uid",                     ".write": "$  uid === auth.uid"                 },                  "datasimulado":{                     ".read": "$  uid === auth.uid",                     ".write": "$  uid === auth.uid"                 },                  "materias":{                     ".read": "$  uid === auth.uid",                     ".write": "$  uid === auth.uid"                 },                  "relatorio":{                     ".read": "$  uid === auth.uid",                     ".write": "$  uid === auth.uid"                 },                 "simulado":{                     ".read": "$  uid === auth.uid",                     ".write": "$  uid === auth.uid"                 }             }         }     } } 

Erro:

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.gamiff, PID: 16082 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gamiff/com.example.gamiff.MainActivity}: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$  ScheduledFutureTask@b3e7299 rejected from com.google.firebase.database.core.utilities.DefaultRunLoop$  1@bd7995e[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 1]     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)     at android.app.ActivityThread.-wrap11(ActivityThread.java)     at android.app.ActivityThread$  H.handleMessage(ActivityThread.java:1344)     at android.os.Handler.dispatchMessage(Handler.java:102)     at android.os.Looper.loop(Looper.java:148)     at android.app.ActivityThread.main(ActivityThread.java:5417)     at java.lang.reflect.Method.invoke(Native Method)     at com.android.internal.os.ZygoteInit$  MethodAndArgsCaller.run(ZygoteInit.java:726)     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$  ScheduledFutureTask@b3e7299 rejected from com.google.firebase.database.core.utilities.DefaultRunLoop$  1@bd7995e[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 1]     at java.util.concurrent.ThreadPoolExecutor$  AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2014)     at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:794)     at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:302)     at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:527)     at java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:616)     at com.google.firebase.database.core.utilities.DefaultRunLoop.scheduleNow(com.google.firebase:firebase-database@@16.0.4:105)     at com.google.firebase.database.core.Repo.scheduleNow(com.google.firebase:firebase-database@@16.0.4:276)     at com.google.firebase.database.DatabaseReference.setValueInternal(com.google.firebase:firebase-database@@16.0.4:296)     at com.google.firebase.database.DatabaseReference.setValue(com.google.firebase:firebase-database@@16.0.4:166)     at com.example.gamiff.Controle.QuestaoDAO.incluir(QuestaoDAO.java:27)     at com.example.gamiff.ui.Missoes.MissoesFragment.onCreateView(MissoesFragment.java:122)     at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2439)     at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)     at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2646)     at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2416)     at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2372)     at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)     at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3273)     at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)     at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2466)     at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1483)     at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)     at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)     at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)     at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)     at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)     at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:620)     at androidx.appcompat.app.AppCompatActivity.onStart(Ap 

Como extrair dados separados de uma string fora de formato

Boa noite

Ao extrair dados de um pdf no R, extraindo textos linha a linha, tenho a seguinte situação

Uma string de interesse que vem com três informações separadas por espaços longos

como exemplificado a seguir

a<-"João Fernando Freitas                             123546514            sdfasfasfa" 

A informação que me interessa é o primeiro termo da string, o nome

Gostaria de um método para extrair apenas o nome da string, descartando o restante

Como são muitos PDF’s, precisaria de um método para inserir em um looping e dar escala ao processo

desde já agradeço

Como extrair dados separados de uma string fora de formato

Boa noite

Ao extrair dados de um pdf no R, extraindo textos linha a linha, tenho a seguinte situação

Uma string de interesse que vem com três informações separadas por espaços longos

como exemplificado a seguir

a<-"João Fernando Freitas                             123546514            sdfasfasfa" 

A informação que me interessa é o primeiro termo da string, o nome

Gostaria de um método para extrair apenas o nome da string, descartando o restante

Como são muitos PDF’s, precisaria de um método para inserir em um looping e dar escala ao processo

desde já agradeço

Dados são inserido no banco de dados porem nao atualiza no JTABLE

fiz minha tabela assim

private void tabela1MouseClicked(java.awt.event.MouseEvent evt) {                                          // TODO add your handling code here:     int indexrow= tabela1.getSelectedRow();      DefaultTableModel model = (DefaultTableModel)tabela1.getModel();     id=model.getValueAt(indexrow, 0).toString();     campoclasse.setText(model.getValueAt(indexrow, 1).toString());     camposetor.setText(model.getValueAt(indexrow, 2).toString());         }                                     

mas ao adicionar um novo objeto a tabela com o botao criar, o jtable nao atualizar, os dados são criados no banco de dados mas só atualiza o jtable se eu fechar e abrir novamente

private void btncriarActionPerformed(java.awt.event.ActionEvent evt) {                                              try {         // TODO add your handling code here:         PreparedStatement pst= conecta.con.prepareStatement("insert into classe (classe,setor) values(?,?) ");         pst.setString(1, campoclasse.getText());         pst.setString(2, camposetor.getText());         pst.executeUpdate();         JOptionPane.showMessageDialog(rootPane, "Criado com sucesso!");     } catch (SQLException ex) {         JOptionPane.showMessageDialog(rootPane, "Erro na inserção!\n Erro: "+ex);     } }                                         

PRINTS EM ORDEM: inserir a descrição da imagem aqui inserir a descrição da imagem aqui inserir a descrição da imagem aqui inserir a descrição da imagem aqui

Erro na abertura da conexão com o banco de dados

Bom dia a todos,

Tenho pouca experiencia em c# com bd oracle.

Tenho o seguinte código:

private Dao GetDataSet() { try { OracleDataAdapter oracleDataAdapter = new OracleDataAdapter(this._comm); this._ds = new DataSet(); this._comm.Connection.Open(); ((DataAdapter)oracleDataAdapter).Fill(this._ds); this._comm.Connection.Close(); this._comm.Dispose(); return this; }

        catch (Exception ex)         {             throw ex;         }     } 

Quando chega na linha onde abre a conexão “this._comm.Connection.Open();” uma exceção é acionada “ServerVersion = ‘this._comm.Connection.ServerVersion’ threw an exception of type ‘System.InvalidOperationException'”

Alguém tem alguma ideia do que está gerando esta exceção ?

Muito obrigado pela ajuda.