Domanda

Sono nuovo in .NET e non riesco a capire qualcosa che dovrebbe essere semplice. Voglio inserire una riga in una tabella e inizializzarla con valori che non sono associati ai controlli dei dati. In particolare, ho un controllo CreateUserWizard in una pagina. Nel metodo CreatedUser, voglio inserire una riga in un databse che ho creato chiamato " Users " che contiene il nome utente e l'indirizzo e-mail dal controllo CreateUserWizard e la data di creazione del nuovo utente, dalla funzione DateTime.Now. Non sembra esserci un modo per impostare i parametri nel controllo sqlDataSource in modo che possano accedere ai dati che non sono associati ai controlli dei dati. Qualcuno può spiegarmi un modo per farlo?

È stato utile?

Soluzione

Siete sulla strada sbagliata: non userete affatto il controllo sqlDataSource. Andrai per un'interazione più diretta con il database dal codice. Ad esempio:

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();

Ora, detto tutto ciò, vorrai imparare SqlCommand e SqlDataReader in qualche dettaglio (sono piuttosto semplici) e quindi rivolgere la tua attenzione alla costruzione di un livello di accesso ai dati che abbia senso per te. Sarai felice di averlo fatto.

Altri suggerimenti

Un'altra opzione è quella di impostare i valori predefiniti sul database stesso, in modo da non doverti preoccupare di passare Datetime.now.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top