Was ist der einfachste Weg, um eine Datenbank für eine Reihe von Datensätzen in C# zu verbinden und abzufragen?Wie verbinde ich mich mit einer Datenbank und Schleife über ein Recordset in C#?
Antwort
@Goyuix - dass etwas aus dem Gedächtnis geschrieben ausgezeichnet ist. hat es hier getestet - gefunden, die Verbindung wurde nicht geöffnet. Sonst sehr nett.
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"]);
}
}
}
}
Sehr grob und aus dem Gedächtnis, da ich Code nicht auf diesem Laptop:
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);
}
}
}
}
Das ist definitiv ein guter Weg, es zu tun. Aber wenn Sie eine Datenbank verwenden, die LINQ to SQL unterstützt, kann es viel mehr Spaß machen. Es kann wie folgt aussehen:
MyDB db = new MyDB("Data Source=...");
var q = from db.MyTable
select c;
foreach (var c in q)
Console.WriteLine(c.MyField.ToString());
Dies ist eine alternative Art und Weise (Datareader ist schneller als diese):
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);
Wenn Sie eine SQL Server-Datenbank abfragen Sie (Version 7 und höher) sollte die OleDb-Klassen durch entsprechende Klassen im Namespace System.Data.SqlClient (SqlConnection, und SqlDataReader) ersetzen, da diese Klassen für die Arbeit mit SQL Server optimiert wurden.
Eine andere Sache zu beachten ist, dass Sie "nie" alle auswählen sollten, da dies später zu unerwarteten Ergebnissen führen kann, wenn Sie Spalten zu dieser Tabelle hinzufügen oder entfernen.
Wenn Sie eine große Anzahl von Spalten oder Datensätzen lesen möchten, sollten Sie auch die Ordinalzahlen zwischenspeichern und auf die stark typisierten Methoden zugreifen, z.
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());
}
}
Ich denke, Sie können Entity Framework versuchen.
using (SchoolDBEntities ctx = new SchoolDBEntities())
{
IList<Course> courseList = ctx.GetCoursesByStudentId(1).ToList<Course>();
//do something with courselist here
}
- 1. Wie verbinde ich mich mit einer SQLite-Datenbank mit PHP?
- 2. Wie verbinde ich mich mit einer Datenbank in Java ME?
- 3. Wie verbinde ich mich mit SQLite-Datenbank-Datei von C#?
- 4. Wie verbinde ich mich mit einer MySQL-Datenbank von Clojure?
- 5. Wie verbinde ich mich mit der Datenbank in Magento?
- 6. Wie verbinde ich mich über eine Batch-Datei mit adb?
- 7. Wie verbinde ich mich mit einer lokalen DB2-Datenbank mit einer in Bluemix implementierten Anwendung?
- 8. Wie verbinde ich mich mit einer USB-Webcam in .NET?
- 9. Wie verbinde ich mich von C# aus mit einer SQL-Datenbank?
- 10. Wie verbinde ich Access-Datenbank in C#
- 11. Wie verbinde ich mich mit AWS Elasticsearch?
- 12. Wie verbinde ich mich mithilfe einer Web-App und Jetty Runner mit meiner Datenbank?
- 13. Wie verbinde ich mich mit cppunit?
- 14. Wie verbinde ich mich von einem anderen PC und einer anderen Verbindung zu meiner SQL-Datenbank?
- 15. Wie verbinde ich mich mit der Campaign Monitor-API?
- 16. Wie verbinde ich mich mit remote WildFly mit JMC?
- 17. Wie verbinde ich mich mit einer entfernten MySQL-Datenbank mit Java?
- 18. MongoDB: Wie verbinde ich mich mit einer anderen Datenbank mit derselben Verbindung?
- 19. Wie verbinde ich mich mit PDB in Oracle 12c
- 20. Wie verbinde ich mich mit einer entfernten PostgreSQL-Datenbank mit Python
- 21. Wie verbinde ich meine MySQL-Datenbank mit C++
- 22. Wie verbinde ich mich mit versteckten Wifi-Netzwerk mit nmcli
- 23. Wie übertrage ich die Datenbank von einem iPhone auf ein anderes und verbinde mich mit der neuen Datenbank?
- 24. Wie verbinde ich eine Backbone.js App sicher mit einer Datenbank?
- 25. Wie verbinde ich mich mit einem Browser in QTP?
- 26. Wie verbinde ich mich mit einem bestimmten Schema in H2
- 27. Wie verbinde ich mich von einem iPhone mit einer MySQL-Datenbank?
- 28. Wie verbinde ich mich mit Windows SQL Server von Ubuntu
- 29. Wie verbinde ich mich mit einer Website über die Header, die der Browser gesendet hat?
- 30. Wie verbinde ich Teamcity mit einer vorhandenen SQLServer 2005-Datenbank