Inserindo linhas em um banco de dados no ASP.NET
-
03-07-2019 - |
Pergunta
Eu sou novo para .NET, e eu sou não consigo descobrir algo que deve ser simples. Eu quero inserir uma linha em uma tabela, e inicialize-o com valores que não estão vinculados a controles de dados. Especificamente, eu tenho um controle CreateUserWizard em uma página. No método CreatedUser, eu quero inserir uma linha em um databse eu criei chamado "usuários" que contém o usuário e o endereço de email a partir do controle CreateUserWizard, ea data em que o novo usuário foi criado, a partir da função DateTime.Now. Não parece ser uma maneira de definir os parâmetros do controle SqlDataSource de uma maneira que eles podem acessar dados que não está vinculado a controles de dados. Alguém pode explicar uma maneira para eu fazer isso?
Solução
Você está no caminho errado - você não vai usar o controle SqlDataSource em tudo. Você vai ir para uma interação mais direta com o banco de dados de código. Por exemplo:
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmnd = new SqlCommand("Insert Into Table (P1, P2) Values (@P1, @P2)", conn);
cmnd.Parameters.AddWithValue("@P1", P1Value);
cmnd.Parameters.AddWithValue("@P2", P2Value);
cmnd.ExecuteNonQuery();
conn.Close();
Agora, com que todos Dito isto, você vai querer saber o SqlCommand e SqlDataReader com algum detalhe (eles são bastante simples) e, em seguida, voltar sua atenção para a construção de um Data Access Layer que faz sentido para você. Você será feliz que você fez.
Outras dicas
Outra opção é o padrão definido no próprio banco de dados, de modo que você não precisa se preocupar em passar Datetime.now.