QUAL NAMESPACE USAR

JCM0867 28/05/2022 19:08:32
#499987
Olá pessoal

Nesse exemplo abaixo estou usando namespace completo onde está sublinhado
Mas não sei a referencia do que está em vermelho. Qual o namespace coloco?
É necessário o namespace no código pq é um arquivo CSHTML. Não achei maneira de colocar as referencias no inicio ou não soube colocar.

string sql4 = "Select * From {0}Parametros";
sql4 = string.Format(sql4, System.Configuration.ConfigurationManager.AppSettings["prefixo"]);
var dt4 = new [txt-color=#e80000]DataTable()[/txt-color];
System.Data.SqlClient.SqlConnection conn4 = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
System.Data.SqlClient.SqlCommand cmd4 = new System.Data.SqlClient.SqlCommand(sql4, conn4);
conn4.Open();
using (var rdr4 = cmd4.ExecuteReader())
dt4.Load(rdr4, [txt-color=#e80000]LoadOption[/txt-color].OverwriteChanges);

Int16 NroGraus = Int16.Parse(dt4.Rows[0]["[txt-color=#0000f0]QtdGrau[/txt-color]"].ToString());
.......
conn4.Close();

Na verdade quero pegar valores que estão no parametros que só tem um único registro. esse código acima pode ser melhorado?
[txt-color=#0000f0]QtdGrau[/txt-color] é um campo dos parâmetros

Grato
JABA 28/05/2022 19:43:20
#499988
Resposta escolhida
var dt4 = new System.Data.DataTable();


dt4.Load(rdr4, System.Data.LoadOption.OverwriteChanges);
JCM0867 28/05/2022 20:12:17
#499989
Opa, Deu certo, mas ainda persiste um erro no começo da linha:
dt4.Load(rdr4, System.Data.LoadOption.OverwriteChanges);

O erro é este:

Expected a "{" but found a "dt4". Block statements must be enclosed in "{" and "}". You cannot use single-statement control-flow statements in CSHTML pages. For example, the following is not allowed:

@if(isLoggedIn)
<p>Hello, @user</p>

Instead, wrap the contents of the block in "{}":

@if(isLoggedIn) {
<p>Hello, @user</p>
} Edu.Web C:\Cesc50\cjsystemweb - 271\Edu.Web\Views\DiarioDeClasse\PartialDados.cshtml
JABA 28/05/2022 20:28:12
#499990
Faça o teste colocando as chaves que ele tá pedindo e não há necessidade usar o .Close quando se usa o Using.

using (var rdr4 = cmd4.ExecuteReader()) {
dt4.Load(rdr4, System.Data.LoadOption.OverwriteChanges);
Int16 NroGraus = Int16.Parse(dt4.Rows[0]["QtdGrau"].ToString());
}

KERPLUNK 28/05/2022 20:52:57
#499991
Se voce está usando esses namespaces na camada de apresentação, prepare-se para várias más notícias...
JCM0867 28/05/2022 21:47:57
#499992
Kerp
É só nesse caso
Sempre coloco as referencias antes Tipo:.

using System;
using System.Web.Mvc;
using Edu.BLL.Interfaces;
using Edu.Resources;
using Edu.Web.Attributes;
using Edu.Web.ViewModels;
using Edu.Web.App_Helpers;
using CrystalDecisions.CrystalReports.Engine;
using System.IO;
using System.Linq;
using AutoMapper;
using Edu.Model.Models;
using System.Collections.Generic;
using CrystalDecisions.Shared;
using Edu.BLL.BLO.Auth;

Isso que se referiu?

Só que não sei pq no arquivo CSHTML não aceita estas referencias
nem colocando o @ na frente. Devo estar querendo colocar no lugar errado.
JCM0867 28/05/2022 21:55:09
#499993
Citação:

:
Faça o teste colocando as chaves que ele tá pedindo e não há necessidade usar o .Close quando se usa o Using.

using (var rdr4 = cmd4.ExecuteReader()) {
dt4.Load(rdr4, System.Data.LoadOption.OverwriteChanges);
Int16 NroGraus = Int16.Parse(dt4.Rows[0]["QtdGrau"].ToString());
}



funcionou 100%. muito obrigado
KERPLUNK 28/05/2022 22:04:15
#499994
O using, precisa da DLL referenciada no projeto... e fazer isso é um PÉSSIMA ideia.
JCM0867 28/05/2022 22:23:46
#499995
mmmm,
Isso foi o cara que me deu os passos inicias que fez assim.
Está rodando em 4 clientes e pretendo por em mais uma dúzia nos próximos 2 ou 3 anos, dependendo de deixar tudo redondo
O que sugere?
KERPLUNK 29/05/2022 00:32:31
#499996
Organizar direito seu projeto. A camada de apresentação JAMAIS pode acessar dados, em hipótese alguma.
JABA 29/05/2022 00:50:58
#499997
Citação:

:
Kerp
É só nesse caso
Sempre coloco as referencias antes Tipo:.

using System;
using System.Web.Mvc;
using Edu.BLL.Interfaces;
using Edu.Resources;
using Edu.Web.Attributes;
using Edu.Web.ViewModels;
using Edu.Web.App_Helpers;
using CrystalDecisions.CrystalReports.Engine;
using System.IO;
using System.Linq;
using AutoMapper;
using Edu.Model.Models;
using System.Collections.Generic;
using CrystalDecisions.Shared;
using Edu.BLL.BLO.Auth;

Isso que se referiu?

Só que não sei pq no arquivo CSHTML não aceita estas referencias
nem colocando o @ na frente. Devo estar querendo colocar no lugar errado.



Já testou fazendo a chamada do Using System.Data aí?
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas