Làm cách nào tôi có thể đọc một chuỗi kết nối từ một web.config
tệp vào một lớp chung có trong thư viện lớp?
Tôi đã thử:
WebConfigurationManager
ConfigurationManager
Nhưng các lớp này không được công nhận trong thư viện lớp của tôi.
Làm cách nào tôi có thể đọc một chuỗi kết nối từ một web.config
tệp vào một lớp chung có trong thư viện lớp?
Tôi đã thử:
WebConfigurationManager
ConfigurationManager
Nhưng các lớp này không được công nhận trong thư viện lớp của tôi.
Câu trả lời:
Bạn cần thêm một tham chiếu System.Configuration
và sau đó sử dụng:
System.Configuration.ConfigurationManager.
ConnectionStrings["connectionStringName"].ConnectionString;
C #
// Add a using directive at the top of your code file
using System.Configuration;
// Within the code body set your variable
string cs = ConfigurationManager.ConnectionStrings["connectionStringName"].ConnectionString;
VB
' Add an Imports statement at the top of your code file
Imports System.Configuration
' Within the code body set your variable
Dim cs as String = ConfigurationManager.ConnectionStrings("connectionStringName").ConnectionString
Tôi đoán bạn cần thêm một tham chiếu đến cụm System.Configuration nếu điều đó chưa được thêm vào.
Ngoài ra, bạn có thể cần phải chèn dòng sau vào đầu tệp mã của mình:
using System.Configuration;
Trong VB
: Điều này sẽ làm việc
ConfigurationManager.ConnectionStrings("SQLServer").ConnectionString
Trong C#
đó sẽ là (theo nhận xét của Ala)
ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.DataVisualization.Charting;
using System.Web.UI.WebControls;
C #
string constring = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString;
using (SqlConnection con = new SqlConnection(constring))
DƯỚI ĐÂY WEB.CONFIG MÃ FILE
<connectionStrings>
<add name="ABCD" connectionString="Data Source=DESKTOP-SU3NKUU\MSSQLSERVER2016;Initial Catalog=TESTKISWRMIP;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
Trong đoạn mã trên ABCD là Tên kết nối
for
vòng lặp ( for (int i = 0; i < numOfConnections; i++) { var conn = ConfigurationManager.ConnectionStrings[i]; ... }
) và làm cho chúng có thể được chọn trong hộp tổ hợp. Với var numOfConnections = ConfigurationManager.ConnectionStrings.Count;
bạn có thể xác định có bao nhiêu chuỗi kết nối tồn tại. Trong ví dụ conn.Name
này chứa tên của kết nối.
Bạn phải gọi lớp này trên đầu trang hoặc lớp của bạn:
using System.Configuration;
Sau đó, bạn có thể sử dụng Phương thức này trả về chuỗi kết nối để sẵn sàng chuyển đến đối tượng sqlconnection để tiếp tục công việc của bạn như sau:
private string ReturnConnectionString()
{
// Put the name the Sqlconnection from WebConfig..
return ConfigurationManager.ConnectionStrings["DBWebConfigString"].ConnectionString;
}
Chỉ cần làm rõ một cách rõ ràng đây là giá trị trong cấu hình web:
<add name="DBWebConfigString" connectionString="....." /> </connectionStrings>
using System.Configuration;
string conn = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
using System.Configuration;
string connString = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
Hãy nhớ đừng sử dụng ConnectionStrings [index] bởi vì bạn có thể cấu hình và tính di động của máy toàn cầu
Mọi người dường như đang đề nghị thêm rằng
using System.Configuration;
cái nào đúng.
Nhưng tôi có thể đề nghị bạn nghĩ về việc cài đặt tiện ích mở rộng Visual Studio của ReSharper không?
Khi nó được cài đặt, thay vì thấy một lỗi mà một lớp không được xác định, bạn sẽ thấy một lời nhắc cho bạn biết nó đang lắp ráp ở đâu, hỏi bạn có muốn thêm câu lệnh sử dụng không.
System.Configuration.dll
.