Cách đơn giản nhất để kết nối và truy vấn cơ sở dữ liệu cho một tập hợp các bản ghi trong C# là gì?Làm cách nào để kết nối với cơ sở dữ liệu và lặp qua bản ghi trong C#?
Trả lời
@Goyuix - đó là tuyệt vời cho một cái gì đó bằng văn bản từ bộ nhớ. đã kiểm tra ở đây - thấy rằng kết nối không được mở. Nếu không thì rất hay.
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"]);
}
}
}
}
Rất gần và từ bộ nhớ kể từ khi tôi không có mã trên máy tính xách tay này:
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);
}
}
}
}
Đó chắc chắn là một cách hay để thực hiện. Nhưng nếu bạn tình cờ sử dụng cơ sở dữ liệu hỗ trợ LINQ to SQL, nó có thể thú vị hơn rất nhiều. Nó có thể giống như thế này:
MyDB db = new MyDB("Data Source=...");
var q = from db.MyTable
select c;
foreach (var c in q)
Console.WriteLine(c.MyField.ToString());
Đây là một cách thay thế (DataReader là nhanh hơn này):
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);
Nếu bạn đang truy vấn một cơ sở dữ liệu SQL Server (Phiên bản 7 trở lên) bạn nên thay thế các lớp OleDb với các lớp tương ứng trong không gian tên System.Data.SqlClient (SqlConnection, SqlCommand và SqlDataReader) vì các lớp đó đã được tối ưu hóa để làm việc với SQL Server.
Một điều cần lưu ý là bạn nên 'không bao giờ' chọn tất cả vì điều này có thể dẫn đến kết quả không mong muốn sau này nếu bạn thêm hoặc xóa cột vào bảng này.
Nếu bạn dự định đọc một số lượng lớn các cột hoặc bản ghi, nó cũng đáng lưu vào bộ nhớ đệm của các phân số và truy cập các phương pháp được đánh máy mạnh, ví dụ:
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());
}
}
Tôi đoán, bạn có thể thử khung thực thể.
using (SchoolDBEntities ctx = new SchoolDBEntities())
{
IList<Course> courseList = ctx.GetCoursesByStudentId(1).ToList<Course>();
//do something with courselist here
}
- 1. Kết nối với Cơ sở dữ liệu Sharepoint qua PHP
- 2. Kết nối với cơ sở dữ liệu oracle với C++
- 3. Cơ sở dữ liệu và kết nối
- 4. Làm cách nào để kết nối với cơ sở dữ liệu hiện có trong ASP.NET MVC?
- 5. Làm cách nào để kết nối với nhiều cơ sở dữ liệu bằng JPA?
- 6. Làm cách nào để kết nối CakePHP với cơ sở dữ liệu SQLite?
- 7. Làm cách nào để kết nối với cơ sở dữ liệu trong IronWorker bằng ActiveRecord?
- 8. Làm cách nào để kết nối với tệp cơ sở dữ liệu MDF?
- 9. Làm thế nào để kết nối Django với một cơ sở dữ liệu mysql qua kết nối ssl?
- 10. Làm cách nào để kết nối với cơ sở dữ liệu SQLite bằng PHP?
- 11. cách kết nối F # với cơ sở dữ liệu MySQL?
- 12. Làm cách nào để kết nối an toàn ứng dụng Backbone.js với cơ sở dữ liệu?
- 13. Cách lấy chuỗi kết nối từ cơ sở dữ liệu
- 14. Làm cách nào để chèn bản ghi từ cơ sở dữ liệu mongo này vào cơ sở dữ liệu khác?
- 15. Làm cách nào để kết nối với cơ sở dữ liệu MySQL từ Clojure?
- 16. Làm thế nào để kết nối với nhiều cơ sở dữ liệu trong Hibernate
- 17. Lặp qua $ _POST và thêm vào cơ sở dữ liệu
- 18. Cách tốt nhất để kết nối và sử dụng cơ sở dữ liệu sqlite từ C#
- 19. Kết nối với cơ sở dữ liệu MySQL với RMySQL
- 20. Điều kiện kết nối với cơ sở dữ liệu
- 21. Kết nối với hai cơ sở dữ liệu
- 22. Các kết nối cơ sở dữ liệu và xoắn Xoắn
- 23. Không thể kết nối với cơ sở dữ liệu .mdf
- 24. Kết nối JPA với cơ sở dữ liệu H2
- 25. Kết nối tổng hợp với cơ sở dữ liệu Access
- 26. Lặp qua cơ sở dữ liệu trên máy chủ và cập nhật dữ liệu
- 27. Bản ghi Android tồn tại() trong cơ sở dữ liệu?
- 28. Đa luồng và kết nối cơ sở dữ liệu
- 29. Làm thế nào để ngắt kết nối khỏi cơ sở dữ liệu và quay trở lại cơ sở dữ liệu mặc định trong PostgreSQL?
- 30. Làm cách nào để đếm số lượng kết nối mở trong cơ sở dữ liệu sqlite?