Quel est le moyen le plus simple pour se connecter et interroger une base de données pour un ensemble d'enregistrements en C#?Comment se connecter à une base de données et faire une boucle sur un jeu d'enregistrements en C#?
Comment se connecter à une base de données et faire une boucle sur un jeu d'enregistrements en C#?
Répondre
@Goyuix - qui est excellent pour quelque chose d'écrit de la mémoire. testé ici - trouvé la connexion n'a pas été ouverte. Sinon très bien.
using System.Data.OleDb;
...
using (OleDbConnection conn = new OleDbConnection())
{
conn.ConnectionString = "Provider=sqloledb;Data Source=yourServername\\yourInstance;Initial Catalog=databaseName;Integrated Security=SSPI;";
using (OleDbCommand cmd = new OleDbCommand())
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "Select * from yourTable";
using (OleDbDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
Console.WriteLine(dr["columnName"]);
}
}
}
}
Très peu près et de la mémoire puisque je n'ai pas le code sur ce portable:
using (OleDBConnection conn = new OleDbConnection())
{
conn.ConnectionString = "Whatever connection string";
using (OleDbCommand cmd = new OleDbCommand())
{
cmd.Connection = conn;
cmd.CommandText = "Select * from CoolTable";
using (OleDbDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
// do something like Console.WriteLine(dr["column name"] as String);
}
}
}
}
C'est certainement un bon moyen de le faire. Mais si vous utilisez une base de données qui supporte LINQ to SQL, cela peut être beaucoup plus amusant. Il peut ressembler à ceci:
MyDB db = new MyDB("Data Source=...");
var q = from db.MyTable
select c;
foreach (var c in q)
Console.WriteLine(c.MyField.ToString());
Ceci est une autre façon (DataReader est plus rapide que celui-ci):
string s = "";
SqlConnection conn = new SqlConnection("Server=192.168.1.1;Database=master;Connect Timeout=30;User ID=foobar;Password=raboof;");
SqlDataAdapter da = new SqlDataAdapter("SELECT TOP 5 name, dbid FROM sysdatabases", conn);
DataTable dt = new DataTable();
da.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
s += dt.Rows[i]["name"].ToString() + " -- " + dt.Rows[i]["dbid"].ToString() + "\n";
}
MessageBox.Show(s);
Si vous interrogez une base de données SQL Server (version 7 et plus) vous doit remplacer les classes OleDb par des classes correspondantes dans l'espace de noms System.Data.SqlClient (SqlConnection, SqlCommand et SqlDataReader) car ces classes ont été optimisées pour fonctionner avec SQL Server.
Une autre chose à noter est que vous ne devriez jamais sélectionner tout cela car cela pourrait conduire à des résultats inattendus plus tard si vous ajoutez ou supprimez des colonnes à cette table.
Si vous avez l'intention de lire un grand nombre de colonnes ou d'enregistrements, cela vaut également la peine de mettre en cache les ordinaux et d'accéder aux méthodes fortement typées, par exemple.
using (DbDataReader dr = cmd.ExecuteReader()) {
if (dr.Read()) {
int idxColumnName = dr.GetOrdinal("columnName");
int idxSomethingElse = dr.GetOrdinal("somethingElse");
do {
Console.WriteLine(dr.GetString(idxColumnName));
Console.WriteLine(dr.GetInt32(idxSomethingElse));
} while (dr.Read());
}
}
Je suppose que vous pouvez essayer framework d'entité.
using (SchoolDBEntities ctx = new SchoolDBEntities())
{
IList<Course> courseList = ctx.GetCoursesByStudentId(1).ToList<Course>();
//do something with courselist here
}
- 1. Comment se connecter à la base de données Oracle?
- 2. Comment faire une boucle sur plusieurs baies?
- 3. Comment se connecter à une base de données SQL à l'aide de l'ASP classique?
- 4. Comment se connecter à une base de données MySQL à partir d'un iPhone?
- 5. Connexion à une base de données Oracle en C# .Net
- 6. Comment se connecter à une base de données Oracle à partir de services Web Publié sur IIS
- 7. C++ Comment faire une boucle à travers une liste de struct, et accéder à leurs propriétés
- 8. Comment me connecter à une base de données Access via un réseau local en utilisant Java?
- 9. Configuration d'ASP.NET Development Server pour se connecter à une base de données postgres
- 10. Oracle Lite - Impossible de se connecter à une base de données nouvellement créée. [POL-3013]
- 11. comment se connecter et insérer et récupérer des données de la base de données?
- 12. Besoin de fonctions génériques pour se connecter à la base de données et récupérer des données
- 13. Comment faire une boucle dans un tableau en Java?
- 14. Essayer de se connecter à la base de données MDF sans utiliser une connexion sécurisée
- 15. Comment faire une boucle repeat-until en C++?
- 16. Comment se connecter à une application ASP.NET en connaissant uniquement un mot de passe crypté?
- 17. Comment connecter mon application asp.net sur mon serveur Web à une base de données SQL sur un autre serveur?
- 18. Comment se connecter à une table dans SQL Server 2000?
- 19. Comment me connecter à une base de données SQL Server distante dans une application WinForms?
- 20. Comment faire une boucle de tuyau en bash
- 21. Comment faire une boucle sur les résultats de MySQL facilement?
- 22. requête SQL: Comment faire une boucle avec des données similaires
- 23. Comment faire une boucle sur une chaîne multiligne dans Ruby?
- 24. Comment faire une requête importante sur une page ASP.NET pour une base de données Oracle
- 25. Se bloquer dans une boucle de jeu et supprimer les sprites naturellement
- 26. Impossible de se connecter à la base de données lorsque l'application Web est déployée sur IIS
- 27. Programmation par rapport à une base de données en C
- 28. Comment se connecter à Oracle en utilisant JRuby et JDBC
- 29. Quelle est la bonne façon de se connecter à une base de données Microsoft Access 2007 en Java?
- 30. System.Diagnostics: Comment se connecter en utilisant une identité