Angelina
Le générateur de commandes génère des commandes d'insertion/mise à jour/suppression pour l'adaptateur de données en fonction de la commande select. La création automatique de commandes d'insertion/mise à jour/suppression nuit aux performances. Si nous connaissons le contenu de insert/update/delete, nous devons le créer explicitement. Il est préférable de créer des procédures stockées explicites pour l'insertion/la mise à jour/la suppression et de les affecter. Les procédures en magasin sont une bien meilleure façon de procéder et elles sont bien plus sûres que celles-ci.
Le générateur de commandes utilise la propriété select command de l'adaptateur de données pour déterminer les valeurs des autres commandes. S'il y a un changement dans la commande select de l'adaptateur de données, n'oubliez pas d'appeler refresh Scheme pour mettre à jour les propriétés de la commande. Il convient de noter ici que le générateur de commandes ne générera une commande pour la propriété de commande de l'adaptateur de données que si la propriété de commande est nulle, si elle n'est pas nulle, elle ne le fera pas.
Par défaut, les propriétés de la commande sont nulles pour l'adaptateur de données, donc chaque fois que nous l'utilisons, nous devons faire attention. Si vous définissez explicitement une propriété de commande, le générateur de commandes ne l'écrase pas. Vous devez définir la propriété de commande sur null pour permettre au générateur de commandes de générer une commande pour la propriété de commande. Une autre chose ici est que le générateur de commandes est agréable à utiliser et recommandé si les tables sont simples, mais lorsque nous parlons d'instructions de sélection complexes, nous devrions donner plus de paramètres et de nouvelles commandes pour chacune des propriétés de commande dans l'adaptateur de données.
Angelita
Override public void PostUserWallFromId(int id, int code, string post)
{
string statement = @"
INSERT INTO [UsersPost] ([SentId], [ToId], [Post], [Date])
VALUES (@sentid, @toid, @post, @date)" ;
using (con = new SqlConnection(connStr))
{
SqlCommand cmd = new SqlCommand(statement, con);
cmd.Parameters.AddWithValue("sentid", "2");
cmd.Parameters.AddWithValue("toid", "3");
cmd.Parameters.AddWithValue("post", post);
cmd.Parameters.AddWithValue("date", DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.
ToString());
con.Open();
cmd.ExecuteNonQuery();
}
}