Jaki jest najprostszy sposób połączenia i kwerendy bazy danych dla zestawu rekordów w języku C#?Jak połączyć się z bazą danych i zapętlić zestaw rekordów w języku C#?
Odpowiedz
@Goyuix - to doskonała czegoś pisemnej z pamięci. testowałem to tutaj - stwierdziłem, że połączenie nie zostało otwarte. W przeciwnym razie bardzo miły.
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"]);
}
}
}
}
grubsza i z pamięci, ponieważ nie mam kodu na tym laptopie:
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);
}
}
}
}
To zdecydowanie dobry sposób na zrobienie tego. Ale jeśli używasz bazy danych, która obsługuje LINQ do SQL, może być o wiele więcej zabawy. Może to wyglądać mniej więcej tak:
MyDB db = new MyDB("Data Source=...");
var q = from db.MyTable
select c;
foreach (var c in q)
Console.WriteLine(c.MyField.ToString());
Jest to alternatywny sposób (DataReader jest szybszy niż ten jeden):
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);
Jeśli zapytań do bazy danych SQL Server (wersja 7 i wyżej) Cię powinien zastąpić klasy OleDb odpowiednimi klasami w przestrzeni nazw System.Data.SqlClient (SqlConnection, SqlCommand i SqlDataReader), ponieważ te klasy zostały zoptymalizowane do pracy z SQL Server.
Inną rzeczą, na którą należy zwrócić uwagę, jest to, że nie należy nigdy wybierać wszystkich, ponieważ może to później prowadzić do nieoczekiwanych wyników, jeśli dodasz lub usuniesz kolumny do tej tabeli.
Jeśli zamierzasz czytać dużą liczbę kolumn lub zapisów, warto również zapisać je w pamięci podręcznej i uzyskać dostęp do mocno napisanych metod, np.
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());
}
}
Chyba można wypróbować strukturę encji.
using (SchoolDBEntities ctx = new SchoolDBEntities())
{
IList<Course> courseList = ctx.GetCoursesByStudentId(1).ToList<Course>();
//do something with courselist here
}
- 1. Jak połączyć się z bazą danych SQL z C#?
- 2. Połącz się z zewnętrzną bazą danych SQL w języku C#
- 3. Jak połączyć się z istniejącą bazą danych w ASP.NET MVC?
- 4. jak połączyć się z bazą danych w aplikacji openshift
- 5. Jak mogę połączyć się z bazą danych postgreSQL w scala?
- 6. Jak połączyć się z bazą danych serwera SQL przez LAN
- 7. Jak zdalnie połączyć się z bazą danych Oracle 11g
- 8. połączyć się z bazą danych PostgreSQL z różnymi ustawieniami narodowymi
- 9. nie można połączyć się z bazą danych z pliku
- 10. Połączyć się z bazą danych programu SQL Server od PowerShell
- 11. Jak połączyć się z dwiema bazami danych w jednym ciągu połączenia w języku C#?
- 12. CakePHP 2 nie może połączyć się z bazą danych MySQL
- 13. Nie można połączyć się z bazą danych SQL Server
- 14. Nie można połączyć aplikacji z bazą danych
- 15. Nie można połączyć się z bazą danych SQL Server
- 16. atuty rake: prekompilacja próbująca połączyć się z bazą danych
- 17. Zestaw skrzyżowań i zestaw różnicy rekordów dwóch plików z hadoopem
- 18. zdalnego łączenia się z bazą danych MySQL
- 19. Zestaw rekordów w pascal
- 20. Jak połączyć się z bazą danych postgres Heroku z lokalnego połączenia w php
- 21. mysqli przygotowane oświadczenie, jak zapętlić zestaw wyników
- 22. Jak połączyć się z MySQL z C# przez SSH
- 23. Jak połączyć się z bazą danych w pamięci RAM Play za pomocą JDBC?
- 24. Kategoryzacja rekordów w języku Java
- 25. Jak mogę połączyć się z bazą danych Oracle z Ant używając nazwy użytkownika?
- 26. Jak połączyć się z bazą danych MSSQL przy użyciu modułu DBI Perla w systemie Windows?
- 27. C# jak zwrócić zestaw danych z sqldatareader?
- 28. Jak połączyć się z wieloma bazami danych przy użyciu WZP?
- 29. Dlaczego nie połączyć bezpośrednio Androida z bazą danych?
- 30. jak połączyć się z bazą danych HSQLDB opartą na pliku za pomocą sqltool?