Codigos Fonte, Artigos e Dicas
Consulta Banco Com SubSonic
DataSet ds;
try
{
ds = new SubSonic.Select("incr", "nome", "red", "lpl", "red_lpl", "le", "es", "mec", "total", "classificacao", "status", "turno", "ano","curso","unidade").From("vestibularesantigos")
.WhereExpression("Nome").Like(nome+"%").AndExpression("unidade").IsEqualTo("FDC").ExecuteDataSet();
}
catch (Exception ex)
{
ds = null;
}
return ds;
Nenhum post foi relacionado a este
| Imprimir artigo | Este artigo foi escrito por paulodiogo em 22 22UTC junho 22UTC 2009 às 11:13, e está arquivado em SubSonic. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |

há 2 anos atrás
Cara, muito bom o exemplo, consegui realizar o Select com Like só depois que achei teu código!!
Porém ainda estou um uma dificuldade e talvez vc possa me ajudar!
Preciso fazer um filtro, onde o usuario pode informar quaisquer dos seguintes campos:
Nome – Parte do nome
RG – Tem que digitar igual
CPF – Tem que digitar igual
Mas não estou conseguindo montar a instrução, tentei assim:
ProponenteCollection props = new Select().From(Tables.Proponente)
.WhereExpression(MAC.Proponente.Columns.Nomeproponente).Like(“%” + txtNomeBuscar.Text.Trim() + “%”)
.AndExpression(MAC.Proponente.Columns.Cpfproponente).IsEqualTo(txtCPFBuscar.Text)
.AndExpression(MAC.Proponente.Columns.Rgproponente).IsEqualTo(txtRGBuscar.Text)
.ExecuteAsCollection();
Mas se eu informar o CPF, traz tb os outro registros!
Vc consegue enxergar o problema?
Brigadão,
Gennari
[Reply]
há 2 anos atrás
Gennari :
não entendi, qnd vc informa o cpf ele traz os outros registros. ele traz todos os registros do banco? se nao for todos quais registros ele traz??
[Reply]
Gennari Reply:
julho 22nd, 2009 at 10:40
Traz todos os registros da tabela Proponente.
Acho que é alguma jogada com o ‘Or’ que não estou sabendo fazer direito…
[Reply]
paulodiogo Reply:
julho 22nd, 2009 at 10:48
é verdade tenta usar o .OrExpression no lugar do .AndExpression na comparação com o cpf pra ver… pq… o and já diz, as 3 informações tem q ser verdade… ou seja o like o 1º and e o 2º tem que ser satisfeito, agora nao estou entendendo pq ele ta trazendo todas tuplas da tabela… muito estranho…
[Reply]
há 2 anos atrás
Putz…. desculpe!!
Postei o código errado!
Tentei exatamente com o ‘Or’ dessa maneira:
ProponenteCollection props = new Select().From(Tables.Proponente)
.WhereExpression(MAC.Proponente.Columns.Nomeproponente).Like(“%” + txtNomeBuscar.Text.Trim() + “%”)
.OrExpression(MAC.Proponente.Columns.Cpfproponente).IsEqualTo(txtCPFBuscar.Text)
.OrExpression(MAC.Proponente.Columns.Rgproponente).IsEqualTo(txtRGBuscar.Text)
.ExecuteAsCollection();
Aquele código com o ‘And’ é pq eu tava querendo entender melhor o funcionamento do Subsonic… e esqueci de voltar antes de mandar o comentário!
[Reply]
paulodiogo Reply:
julho 22nd, 2009 at 11:01
OK… entao vamos entender o seu codigo… vc esta selecionando Proponentes que tenham nomes que contenham “txtNomeBuscar.Text” OU tenham o cpf igual a “txtCPFBuscar.Text” OU tenham o RG igual a “txtRGBuscar.Text”
1º o usuario entra com todos os dados?
2º o usuario pode deixar o rg e o cpf em branco?
3º o usuario pode deixar o nome em branco?
4º o cpf e o rg diz respeito ao nome digitado?
hehehe só pra eu ter uma ideia do que vc ta querendo…
outra coisa pq vc usa o .Trim so no nome e nao nos outros? qual seria o proposito dakele trim ali???
[Reply]