#c# #asp.net #database #web-config #connection-string
#c# #asp.net #База данных #web-config #строка подключения
Вопрос:
У меня есть эта строка подключения в моем web.config
:
<connectionStrings>
<add name="SQLServerConnectionString"
connectionString= "..."
providerName="System.Data.SqlClient" />
</connectionStrings>
И этот простой код C # для извлечения из базы данных:
dbAD.SelectCommand = new OleDbCommand("SELECT * FROM Profile ORDER BY FullName ASC", dbConnect);
dbAD.Fill(dbRS, "Profile");
if (dbRS.Tables("Profile").Rows.Count > 0)
{
foreach (DataRow employee in dbRS.Tables("Profile").Rows)
{
Response.Write("Employee: " Profile("FullName") " " Profile("Academy") "<p>");
}
}
Однако я получаю сообщение об ошибке:
Имя ‘dbAD’ не существует в текущем контексте
Я так понимаю, мне нужно определить dbAD
или несколько других переменных перед этим, но я бы только догадывался.
Заранее спасибо!
Комментарии:
1. Привет, как инициализировать dbAD, DBConnect, dbRS?
2. Привет @Esperento57 — боюсь, приведенный выше код — это все, что у меня есть.
3. Я надеюсь, что пароль не является реальным паролем вашей онлайн-базы данных. Не очень разумно публиковать эту информацию.
4. @steve большое спасибо, Стив. Конечно, это было изменено для стека
Ответ №1:
попробуйте этот код:
я до:
using System.Data;
using System.Data.OleDb;
using System.Web.Configuration;
OleDbConnection oledbCnn=null;
OleDbDataAdapter oledbAdapter = null;
DataSet ds=null;
string connetionString = WebConfigurationManager.ConnectionStrings["SQLServerConnectionString"].ConnectionString;
string sql = "SELECT * FROM Profile ORDER BY FullName ASC";
try
{
oledbCnn = new OleDbConnection(connetionString);
oledbCnn.Open();
oledbAdapter = new OleDbDataAdapter(sql, oledbCnn);
ds = new DataSet();
oledbAdapter.Fill(ds, "Profile");
foreach (DataRow row in ds.Tables["Profile"].Rows)
{
Response.Write("Employee: " " " row["FullName"].ToString() " " row["Academy"].ToString() "<p>");
}
oledbCnn.Close();
}
catch (Exception ex)
{
Response.Write("Can not open connection ! ");
}
finally
{
if (oledbCnn != null) oledbCnn.Dispose();
if (oledbAdapter != null) oledbAdapter.Dispose();
if (ds != null) ds.Dispose();
}
Комментарии:
1. @davidxc честно говоря, если вы разговариваете с SQL Server,
SqlConnection
это должно быть вашим предпочтительным выбором в любом случае ; Я подозреваю, что вам следует просто удалить любое упоминание SQLOLEDB из строки подключения…2. и добавьте с помощью System.Web.Configuration; тоже
3. какой номер строк?
4. измените ответ. Напишите(«Сотрудник: » » » строка [«Полное имя»]. toString() » » строка [«Академия
5. Я изменил свой код, чтобы указать, что вы затем используете 😉