passar parametro
18/11/2009
Estou usando o sqldatasource no C# com Visual studio 2005, estou trabalhando com STORE PROCEDURE gostaria de saber como passo parametro atraves do dataSource para o storeprocedure.
é o seguinte o store procedure passa 2 parametro
@conta int
@agencia int
quero que esses parametros sejam passado atraves de 2 textbox...
alguem me ajuda ???
m,as teria que ser usando o sqlDataSource...
abç
Posts
Olá vou fazer um exemplo de Inserção , mas para as outra operações é parecido.
//Setando string de commando de Insert:
SqlDataSource1.InsertCommand = "INSERT INTO Produtos(Descricao) values (@nomeParametro)";
//Aqui Vc colocar a sua coleção de parametroos. O método de Add(), tem várias assinaturas,
//nesse caso estamos passando o nome e o valor.
//Obs: Não sei por qual motivo no nome do parametro deve ir sem o "@", senão dá pau. No seu caso o valor pode ser o próprio valor do Textbox.
SqlDataSource1.InsertParameters.Add("nomeParametro", "valorParametro");
//Aqui ele retorna as linhas afetadas.
int novoid = SqlDataSource1.Insert();
Para as outra operações é só trocar a string de commando e os tipos de parametros.
Isso ai..
Abraços
Vagner Moreira
Engraçado é que nem sem usar o store procedure eu consigo passar o parametro, agora veja como estou fazendo o seguinte:.
Vou no configure datasource / Dou NEXT / o sql desse outro exemplo q tentei fazer ta assim:.
No SqlStatment ta assim :.
SELECT [codCarro], [marca], [modelo], [ano] FROM [carro] WHERE ([ano] = @ano)
que foi criado no wirzad do proprio visual studio
tem um botao antes de finalizar que testa a query e aparece o resultado que eu quero, porem quando clico la no botao para mostrar o Select ele nao traz o resultado, da a seguinte msg:.
Must declare the scalar variable "@ano".
abraços
Me mostre como vc esta adicionando o parametro e chamando o método de select...
Amigos,
descobrir uma coisa, o problema na verdade não é com a passagem de parametro, pois inseri um grid para mostrar os dados passados pelo parametro ele funciona direitinho só lista no grid os dados com os parametros passados no text box.
Na verdade essa aplicacao possui um script que eu achei na internet que ele pega os dados do sqldatasource e exporta os dados contidos nesse sqldatasource para um arquivo no formato .csv. na hora de exportar esses dados ele aparece a seguinte msg no excel ao inves dos dados do sqldatasource... "Must declare the scalar variable "@ano"."
Ou seja na minha concepcao:. msmo que seja meio leigo com desenvolvimento .net (estou comecando agora!) aparentemente o sqldatasource nao está passando para o script os dados corretos. Pois quando faço o mesmo teste sendo que sem a condicao where ("ou seja sem passagem de parametros") a exportacao dos dados funciona perfeitamente...
não sei se deu pra explicar direito, sem códigos fica muito complicado explicar as coisas entao aqui vai para quem quiser e puder me ajudar, está sendo desenvolvido esse teste no visual studio.
agradeceria muito quem quisesse me ajudar.
download dos arquivos fonte:. http://pvsolution.com/upload/CodProject.rar