ASP.NET et SQL SERVER sont les meilleurs. Pour les programmes plus volumineux, SQL SERVER est généralement le premier choix. Seuls ceux qui sont très économiques utilisent ACCESS. Lors de l'utilisation de SQL SERVER, afin de rendre la base de données plus efficace, des procédures stockées sont généralement utilisées car les procédures stockées s'exécutent rapidement et peuvent implémenter certaines requêtes avancées et d'autres fonctions. Par exemple, certains paramètres de données sont transmis, mais les procédures SQL exécutées peuvent être différentes.
Voici un exemple pour créer un nouveau rôle et exiger que le nom du rôle ne puisse pas être répété. Ce qui suit est une procédure stockée.
PROCÉDURE DE CRÉATION sp_AccountRole_Create@CatégorieID int,
@RoleName nvarchar(10),
@Descriptionnvarchar(50),
@RoleID int sortie
COMME
DÉCLARER @Count int- Rechercher s'il existe des enregistrements portant le même nom
SELECT @Count = Count(RoleID) FROM Account_Role OÙ
Nom du rôle = @Nom du rôleSI @Count = 0
INSÉRER DANS Compte_Rôle
(CategoryID, RoleName, Description) valeurS
(@CategoryID, @RoleName, @Description)FIXER @RoleID = @@IDENTITÉ
RETOUR 1
ALLER
SqlConnection DbConnection = new SqlConnection(mConnectionString);
Commande SqlCommand = new SqlCommand( "sp_AccountRole_Create", DbConnection );
DbConnection.Open(connectString);
// Définit l'attribut SqlCommand sur une procédure stockée
command.CommandType = CommandType.StoredProcedure ;command.Parameters.Add("@CategoryID", SqlDbType.Int, 4);
command.Parameters.Add("@RoleName", SqlDbType.NVarChar, 10);
command.Parameters.Add("@Description", SqlDbType.NVarChar, 50);
command.Parameters.Add("@RoleID", SqlDbType.Int, 4);
//valeur de retour
command.Parameters.Add("Valeur de retour",
SqlDbType.Int,
4, // Taille
ParameterDirection.Valeur de retour,
false, // est nullable
0, // précision en octets
0, // échelle d'octets
chaîne.Vide,
DataRowVersion.Default,
nul );command.parameters["@CategoryID"].value = permission.CategoryID;
command.parameters["@RoleName"].value = permission.PermissionName;
command.parameters["@Description"].value = permission.Description;
// Une nouvelle valeur d'ID peut être renvoyée
command.parameters["@RoleID"].Direction = ParameterDirection.Output;int rowsAffected = command.ExecuteNonQuery();
int result = command.parameters["Returnvalue"].value;
int newID = command.parameters["@RoleID"].value;
La fonction est assez puissante. Vous pouvez obtenir trois valeurs, à savoir la valeur d'impact sur la ligne, la valeur de retour de la procédure stockée et la nouvelle valeur d'ID.