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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top