Làm thế nào để kết nối với cơ sở dữ liệu và chạy một lệnh bằng cách sử dụng ADO.NET 2005 và Visual C# 2005 hoặc bằng cách sử dụng ADO.NET và Visual C#.NET

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:306636
Đối với một Microsoft Visual Basic.NET Phiên bản này viết, xem 301075.
Đối với một Microsoft Visual J#.NET Phiên bản này viết, xem 322045.

Bài viết này đề cập đến đây Microsoft.Không gian tên thư viện lớp của NET Framework:
  • System.Data
  • System.Data.SqlClient
TÓM TẮT
Bài viết từng bước này cho bạn thấy làm thế nào để sử dụng ADO.NET 2005 hoặc ADO.NET để kết nối với cơ sở dữ liệu và chạy lệnh.

Yêu cầu

Các danh sách sau đây vạch ra được đề nghị phần cứng, phần mềm, mạng cơ sở hạ tầng, và gói dịch vụ mà bạn cần:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Chuyên nghiệp, Windows 2000 Server, Windows 2000 Advanced Server, hoặc Microsoft Máy chủ Windows NT 4.0
  • Microsoft Visual Studio 2005 hoặc Microsoft Visual Studio .NET
Điều này bài giả định rằng bạn đã quen thuộc với các chủ đề sau:
  • Cơ sở dữ liệu thuật ngữ
  • Cấu trúc Query Language (SQL)

Làm thế nào để chạy một lệnh

Lệnh được ban hành đối với cơ sở dữ liệu để có hành động chống lại các cửa hàng dữ liệu và bao gồm bất kỳ tuyên bố rằng có thể được ban hành chống lại một cơ sở dữ liệu. Bạn có thể sử dụng các OleDbCommand hoặc các SqlCommand các lớp học để có được một câu lệnh để lưu trữ dữ liệu của bạn, và OleDbCommand có thể được cụ thể để lưu trữ dữ liệu. Bài viết này chứng tỏ cả hai các SqlClient lớp (kết nối với một máy tính đang chạy Microsoft SQL Máy chủ) và các OleDb lớp học (cho bất kỳ cơ sở dữ liệu có một trình điều khiển OLE DB hoặc ODBC «««sẵn) trong ADO.NET. Tuy nhiên, các mã thường là như nhau cho cả hai.

Với ADO, bạn có thể phát hành lệnh thông qua các Chỉ huy, các Kết nối, hoặc các RecordSet đối tượng. Trong ADO.NET, chỉ các Chỉ huy các đối tượng)SqlCommand hoặc OleDbCommand) chạy lệnh.

Để chạy lệnh, hãy làm theo các bước sau:
  1. Làm theo các bước sau để tạo ra một ứng dụng giao diện điều khiển mới trong Microsoft Visual C# 2005 hoặc trong Microsoft Visual C#.NET:
    1. Bắt đầu Microsoft Visual Studio 2005 hoặc Microsoft Visual Phòng thu.NET.
    2. Trên các Tệp trình đơn, điểm đến Mới, sau đó bấm Dự án.
    3. Trong các Dự án mới hộp thoại hộp, bấm vào Visual C# các dự án dưới Các loại dự án, sau đó bấm Giao diện điều khiển ứng dụng dưới Khuôn mẫu.

      Chú ý Trong Visual Studio 2005, nhấp vào Visual C# dưới Các loại dự án trong các Dự án mới hộp thoại, và sau đó nhấp vào Giao diện điều khiển ứng dụng dưới Khuôn mẫu.
  2. Đảm bảo rằng dự án của bạn có chứa một tham chiếu đến các System.Data không gian tên, và thêm một tài liệu tham khảo nếu nó không.
  3. Sử dụng các bằng cách sử dụng tuyên bố về sự Các vấn đềSystem.Data không gian tên do đó bạn không cần phải vượt qua vòng loại tờ khai trong những không gian tên sau trong mã của bạn. Bạn cũng có thể bao gồm System.Data.SqlClient hoặc System.Data.OleDb, tùy thuộc vào cái nào bạn đang sử dụng.
    using System;using System.Data;using System.Data.SqlClient;					
  4. Trước khi bạn có thể tạo một kết nối đến cơ sở dữ liệu, bạn phải có một kết nối chuỗi. Kết nối chuỗi chứa tất cả các thông tin bạn cần thiết lập kết nối cơ sở dữ liệu, bao gồm cả tên máy chủ, tên cơ sở dữ liệu, tên người dùng và mật khẩu. Ví dụ, sau đây kết nối chuỗi điểm với một máy tính địa phương đang chạy SQL Máy chủ:

    Đối với các kết nối OleDb:

    Chú ý Người sử dụng ID <uid>phải có quyền thích hợp để thực hiện các hoạt động trên cơ sở dữ liệu.</uid>
    Provider=SQLOLEDB.1;User ID=<UID>;Initial Catalog=pubs;Data Source=(local)						
    Đối với các kết nối SqlClient:
    User ID=<UID>;Initial Catalog=pubs;Data Source=(local)						
    Chú ý Nếu bạn cần thêm trợ giúp xác định các kết nối chuỗi cho cơ sở dữ liệu của bạn, tìm kiếm cho "ConnectionString" trên Microsoft Developer Network (MSDN) Thư viện:
  5. Visual Studio tạo ra một lớp học tĩnh và một sản phẩm nào Main() thủ tục. Khai báo một biến chuỗi, và lưu trữ nhaán kết nối chuỗi cho cơ sở dữ liệu trong thủ tục này.

    Chú ý Người sử dụng ID <uid>phải có quyền thích hợp để thực hiện các hoạt động trên cơ sở dữ liệu.</uid>
    class Class1{	static void Main(string[] args)	{		string sConnectionString = "User ID=<UID>;Initial Catalog=pubs;Data Source=(local)";	}}					
  6. Bằng cách sử dụng này chuỗi kết nối, tạo ra một mới OleDbConnection hoặc SqlConnection đối tượng, và gọi của nó Mở phương pháp thiết lập kết nối cơ sở dữ liệu của bạn:
    SqlConnection objConn = new SqlConnection(sConnectionString);objConn.Open();					
  7. Tạo ra một SqlCommand hoặc OleDbCommand đối tượng, và vượt qua trong lệnh mà bạn muốn chạy và các đối tượng kết nối bạn đã tạo ở bước trước. Các mẫu sau đây Mã đi trong tuyên bố CHÈN:
    string sSQL = "INSERT INTO Employee " +   "(emp_id, fname, minit, lname, job_id, job_lvl, pub_id, hire_date) " +   "VALUES ('MSD12923F', 'Duncan', 'W', 'Mackenzie', 10, 82,'0877','2001-01-01')";SqlCommand objCmd = new SqlCommand(sSQL,objConn);					
  8. Sau khi bạn tạo các SqlCommand hoặc OleDbCommand đối tượng, bạn có thể gọi các ExecuteNonQuery phương pháp để chạy lệnh mà nó đại diện. ExecuteNonQuery được thiết kế cho các lệnh không trả về bất kỳ kết quả (chẳng hạn như việc xoá, Cập Nhật và thêm câu). Nếu các báo cáo chạy mà không cần ném ngoại lệ (xem đoạn mã sau), câu lệnh đã được thực hiện thành công chống lại cơ sở dữ liệu.
    objCmd.ExecuteNonQuery();					
  9. Lưu dự án của bạn. Trên các Gỡ lỗi trình đơn, nhấp vào Bắt đầu chạy lệnh của bạn đối với cơ sở dữ liệu.

Làm thế nào để sử dụng tham số

Khi bạn chạy lệnh đối với cơ sở dữ liệu (ví dụ như Cập Nhật, các CHÈN, và xoá bỏ báo cáo hoặc các cuộc gọi đến thủ tục được lưu trữ), những lệnh thường xuyên được vec. Điều này cho phép các lệnh được tạo ra một trong những thời gian nhưng thực hiện nhiều lần với các giá trị khác nhau được chèn vào thay vì các tham số. Xem xét tuyên bố DELETE tương ứng với các CHÈN nội dung được sử dụng trong phần trước:
string sSQL = "DELETE FROM Employee WHERE emp_id = @emp_id"				
Tên tham số ("@ emp_id") trong tuyên bố này DELETE đại diện cho một tham số hơn bạn có thể thay thế với các giá trị khác nhau mỗi khi bạn chạy các bộ chỉ huy.

Sử dụng tham số với lệnh của bạn, hãy làm theo các bước sau:
  1. Tạo của bạn OleDbConnection hoặc SqlConnection đối tượng, như bạn đã làm trong những "Cách chạy lệnh"phần.
  2. Thay thế các giá trị với bài (ví dụ, "@ emp_id" hoặc "@ fname") để các văn bản chỉ huy của bạn sử dụng tham số. Xem tuyên bố DELETE trước khi các bước này cho một ví dụ.
  3. Tạo của bạn OleDbCommand hoặc SqlCommand đối tượng, và vượt qua trong các đối tượng kết nối mà bạn tạo ra trong các bước đầu tiên và chỉ huy văn bản có chứa các tham số bài.
  4. Cho mỗi tham số, thêm một đối tượng tham số cho lệnh bộ sưu tập các tham số của đối tượng. Cho mỗi tham số, bạn phải chỉ định một tên và kiểu dữ liệu.
    objCmd.Parameters.Add("@emp_id", SqlDbType.Char, 9);					
  5. Thủ tục được lưu trữ có thể có các tham số trở về giá trị và đầu ra các thông số. Bạn cũng phải thiết lập một giá trị cho mỗi tham số đầu vào trước khi bạn có thể chạy truy vấn:
    objCmd.Parameters["@emp_id"].Value = "MSD12923F";					
  6. Chạy truy vấn như sau:
    try {	objCmd.ExecuteNonQuery();}catch (System.Exception e) {	Console.WriteLine(e.Message);}Console.WriteLine("Record Deleted");					

Danh sách mã hoàn chỉnh

Chú ý Bạn phải thay đổi ID người sử dụng =<uid> với các giá trị đúng trước khi bạn chạy mã này. Hãy chắc chắn rằng <uid>có quyền truy cập thích hợp để thực hiện thao tác này trên cơ sở dữ liệu.</uid> </uid>
using System;using System.Data;using System.Data.SqlClient;    /// <summary>    /// Summary description for Class1.    /// </summary>    class Class1    {	static void Main(string[] args)	{		AddRecord();		RemoveRecord();		Pause();	}	static void Pause()	{		Console.WriteLine("Press Enter To Continue....");		Console.ReadLine();	}	static void AddRecord()	{		string sConnectionString = "User ID=<UID>;Initial Catalog=pubs;Data Source=(local)";		SqlConnection objConn = new SqlConnection(sConnectionString);		objConn.Open();		string sSQL = "INSERT INTO Employee " + 		  "(emp_id, fname, minit, lname, job_id, job_lvl, pub_id, hire_date) " + 	          "VALUES ('MSD12923F', 'Duncan', 'W', 'Mackenzie', 10, 82,'0877','2001-01-01')";		SqlCommand objCmd = new SqlCommand(sSQL,objConn);		try 		{			objCmd.ExecuteNonQuery();			}		catch (System.Exception e) 		{			Console.WriteLine(e.Message);		}		Console.WriteLine("Record Added");	}	static void RemoveRecord()	{		string sConnectionString = "User ID=<UID>;Initial Catalog=pubs;Data Source=(local)";		SqlConnection objConn = new SqlConnection(sConnectionString);		objConn.Open();		string sSQL = "DELETE FROM Employee WHERE emp_id = @emp_id";		SqlCommand objCmd = new SqlCommand(sSQL,objConn);		objCmd.Parameters.Add("@emp_id", SqlDbType.Char, 9);		objCmd.Parameters["@emp_id"].Value = "MSD12923F";		try 		{			objCmd.ExecuteNonQuery();		}		catch (System.Exception e) 		{			Console.WriteLine(e.Message);		}		Console.WriteLine("Record Deleted");	}} 				
THAM KHẢO
Để biết thêm chi tiết về làm thế nào để sử dụng ADO.NET, cơ sở dữ liệu lệnh và các thủ tục được lưu trữ, truy cập vào trang Web Microsoft sau đây:
SQL Server 2000 được lưu trữ thủ tục
http://msdn2.Microsoft.com/en-US/Library/aa214299 (SQL.80) .aspx

"Lặn vào truy cập dữ liệu" MSDN Voices cột
http://msdn2.Microsoft.com/en-US/Library/ms810295.aspx

ADO.NET cho các lập trình viên ADO
http://msdn2.Microsoft.com/en-US/Library/ms973217.aspx

MSDN trực tuyến.Trung tâm nhà phát triển NET
http://MSDN.Microsoft.com/net
Để biết thêm chi tiết, xem cuốn sách sau đây:
Sharp, John và Jon Jagger. Microsoft Visual C#.NET từng bước. Microsoft Press, 2003.
Để biết thêm chi tiết, xem đào tạo Microsoft sau & Chứng nhận khóa học:

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 306636 - Xem lại Lần cuối: 08/27/2011 19:09:00 - Bản sửa đổi: 2.0

Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# 2005

  • kbhowtomaster kbsqlclient kbsystemdata kbmt KB306636 KbMtvi
Phản hồi