Я думаю, что это то, что вы ищете.
String sql = "SELECT [UserId] FROM [UserProfiles] WHERE NOT [UserId] = 'CurrentUserId'";
string strCon = System.Web
.Configuration
.WebConfigurationManager
.ConnectionStrings["SocialSiteConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(strCon);
SqlCommand comm = new SqlCommand(sql, conn);
conn.Open();
SqlDataReader nwReader = comm.ExecuteReader();
while (nwReader.Read())
{
int UserID = (int)nwReader["UserID"];
// Do something with UserID here...
}
nwReader.Close();
conn.Close();
Я должен сказать, однако, что общий подход может использовать много настроек. Во-первых, вы могли бы по крайней мере начать с упрощения доступа к вашей ConnectionString. Например, вы можете добавить следующее в ваш файл Global.asax.cs:
using System;
using System.Configuration;
public partial class Global : HttpApplication
{
public static string ConnectionString;
void Application_Start(object sender, EventArgs e)
{
ConnectionString = ConfigurationManager.ConnectionStrings["SocialSiteConnectionString"].ConnectionString;
}
...
}
Теперь, во всем вашем коде, просто откройте его, используя:
SqlConnection conn = new SqlConnection(Global.ConnectionString);
Еще лучше, создайте класс, в котором скрыта «сантехника». Чтобы выполнить тот же запрос в моем коде, я просто введите:
using (BSDIQuery qry = new BSDIQuery())
{
SqlDataReader nwReader = qry.Command("SELECT...").ReturnReader();
// If I needed to add a parameter I'd add it above as well: .ParamVal("CurrentUser")
while (nwReader.Read())
{
int UserID = (int)nwReader["UserID"];
// Do something with UserID here...
}
nwReader.Close();
}
Это просто пример использования my DAL. Тем не менее, обратите внимание, что нет строки подключения, нет команд или объектов подключения, которые создаются или управляются, просто «BSDIQuery» (который делает много разных вещей в дополнение к показанному). Ваш подход будет отличаться в зависимости от задач, которые вы выполняете чаще всего.