none
Passando o conteúdo de uma variavel obtida no evento Load da página para o comando Insert na pagina aspx. RRS feed

  • Pergunta

  • Boa tarde pessoal,

    Eis minha duvida: no evento load da página eu guardei em uma variavel de sessão a ID de um funcionario logado no sistema, mas o problema é que eu quero passar o conteúdo dessa variavel(id) para o comando Insert na minha página aspx e não sei como fazê-lo.

    Eis o código de onde obtive a ID do usuario logado e a joguei numa variavel de sessao:

                Session["NOME"] = User.Identity.Name;

                string conString = @"Data Source=xxx.xxx.xxx.xxx;Initial Catalog=XXX;Persist Security Info=True;User ID=xxxx;Password=xxxx";

                string usuarioLogado = (string)Session["NOME"];

                SqlConnection con = new SqlConnection(conString);

                string sql = "SELECT F_ID FROM FUNCIONARIO WHERE LOGIN='" + usuarioLogado + "'";

                SqlCommand cmd = new SqlCommand(sql, con);

                con.Open();

                SqlDataReader reader = cmd.ExecuteReader();

                reader.Read();

                Int32 f_id = (Int32)reader["F_ID"];

                Session["f_id"] = f_id;

                Int32 id = (Int32)Session["f_id"];

                         

                reader.Close();
                con.Close();

    Agora eu gostaria de pegar o conteudo da variavel id e grava-la na tabela NOTAS ela deve ficar onde marquei com XXXXX, segue o INSERT:

    INSERT INTO NOTAS (C_ID, F_ID, NOTAS, DATA_NOTA) VALUES (@@IDENTITY, XXXXX, @NOTAS, getdate())

    Obrigado desde já!   

    terça-feira, 8 de janeiro de 2013 14:33

Todas as Respostas

  • Em que lugar você esta executando o Insert? 

    Um forma é fazendo assim:

    string sql = "INSERT INTO NOTAS (C_ID, F_ID, NOTAS, DATA_NOTA) VALUES (@@IDENTITY, "+(Int32)Session["f_id"]+", @NOTAS, getdate())";

    terça-feira, 8 de janeiro de 2013 15:33
  • É só você passar o valor da Session no Insert, só não esqueça de validar o valor da session antes.
    terça-feira, 8 de janeiro de 2013 19:25
  • Passe o valor da Session no Insert

    Exemplo: string str = "INSERT INTO TABLE VALUES ('"+SESSION+"')";

    Porém, dessa forma não é recomendado, aumenta e muito o risco de invasão e outros.

    O recomendado é utilizar SQLPARAMETER


    Se a resposta foi útil por favor qualifique. Italo Biguzi Duarte, Desenvolvedor ASP.NET C#, Italo.biguzzi@gmail.com

    quarta-feira, 9 de janeiro de 2013 21:15