Maison >base de données >tutoriel mysql >Comment récupérer des données d'une base de données SQL Server en C# à l'aide de requêtes paramétrées ?
Récupération de données d'une base de données SQL Server en C#
Pour récupérer des données d'une base de données SQL Server en C#, vous pouvez utiliser SqlConnection, Objets SqlCommand et SqlDataReader. Voici comment y parvenir :
Établir une connexion à la base de données :
SqlConnection con = new SqlConnection("Data Source=. Initial Catalog=domain; Integrated Security=True"); con.Open();
Créer une commande SQL Objet :
SqlCommand cmd = new SqlCommand("Select * from tablename", con);
Exécutez la commande SQL :
using (SqlDataReader reader = cmd.ExecuteReader()) { // Iterate over the results and retrieve values while (reader.Read()) { // Get values from the current row } }
Cependant, le code que vous fourni dans votre question ne fonctionne pas car vous ne paramétrez pas votre requête SQL. Cela rend votre code vulnérable aux attaques par injection SQL. Pour résoudre ce problème, utilisez des requêtes paramétrées :
cmd.CommandText = "select * from tablename where firstname = @firstName"; cmd.Parameters.AddWithValue("@firstName", textBox1.Text);
Voici un exemple d'une méthode plus complète qui récupère les données d'une base de données et remplit les objets définis par l'utilisateur :
public Person GetPerson(string firstName) { var con = ConfigurationManager.ConnectionStrings["Yourconnection"].ToString(); using (SqlConnection myConnection = new SqlConnection(con)) { string oString = "Select * from Employees where FirstName=@fName"; SqlCommand oCmd = new SqlCommand(oString, myConnection); oCmd.Parameters.AddWithValue("@Fname", fName); myConnection.Open(); using (SqlDataReader oReader = oCmd.ExecuteReader()) { while (oReader.Read()) { Person matchingPerson = new Person { firstName = oReader["FirstName"].ToString(), lastName = oReader["LastName"].ToString(), }; return matchingPerson; } } } return null; // If no person found }
Pour utiliser ceci méthode, vous pouvez l'appeler avec un paramètre firstName et remplir vos zones de texte avec les propriétés de l'objet Person renvoyé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!