2013-06-07 5 views
4

Я недавно начал программировать asp.net с помощью C# (используя VS2008), и я написал свое первое веб-приложение, которое подключается к базе данных. Первая версия работала нормально, но теперь есть некоторые проблемы, когда я ее модифицирую. Ниже приводятся приведенные ниже примеры:подключение к базе данных SQL Server

1) Работает нормально. Программа подключается к базе данных и использует функцию DeleteAllRecords() для выполнения действия на ней; важно отметить, что я создал базу данных для подключения в SQL Server Management Studio.

код позади страницы кнопочной щелкните обработчик события:

SqlConnection dbConnection = new SqlConnection("Data Source=.\\SQLEXPRESS;Integrated Security=true"); 
    try 
    { 
     dbConnection.Open(); 
     dbConnection.ChangeDatabase("przemek8"); 
     SqlCommand myCommand = new SqlCommand("DELETE FROM table8", dbConnection); 
     myCommand.ExecuteNonQuery(); 
    } 
    catch (SqlException exception) 
    { 
     Response.Write("<p>Error code " + exception.Number + ": " + exception.Message + "</p>"); 
    } 
    dbConnection.Close(); 
} 

2) во второй раз я не использовал базу данных SQL, достигнутый в SM Studio, но я добавил новый элемент базы данных из самого Visual Studio (Веб-сайт -> Добавить новый элемент). Я добавил некоторые поля в эту базу данных, и я также настроил GridView, чтобы показать базу данных, которая работает. Однако проблема заключается в том, что когда я хочу подключить Gridview к базе данных, созданной ранее в SQL SM Studio, она не работает - при настройке соединения, которое она выиграла, t выберете файл базы данных, указав:

У вас нет разрешения для открытия этого файла. Для получения разрешения обратитесь к владельцу или администратору.

Мне кажется, что причина этого может быть тривиальной, но я не могу ее разобраться.

Просто отметить, что все файлы базы данных были созданы SQL SM Studio, в пункте назначения по умолчанию на диск C.

3) Не будучи в состоянии соединиться с GridView к базе данных, созданной SQL Server я продолжал работать с база данных, добавленная самой Visual Studio. Он работал с GridView, поэтому я использовал функцию для взаимодействия с ней (удалить все записи) - то же, что было использовано в точке 1), но теперь с базой данных.

SqlConnection dbConnection = new SqlConnection("Data Source=.\\SQLEXPRESS; AttachDbFilename='D:\\WebSite1\\App_Data\\mydtb.mdf'; Integrated Security=true; User Instance=true"); 
    try 
    { 
     dbConnection.Open(); 
     dbConnection.ChangeDatabase("mydtb"); 
     SqlCommand myCommand = new SqlCommand("DELETE FROM Table1", dbConnection); 
     myCommand.ExecuteNonQuery(); 
    } 
    catch (SqlException exception) 
    { 
     Response.Write("<p>Error code " + exception.Number + ": " + exception.Message + "</p>"); 
    } 
    dbConnection.Close(); 

Он не подключается к этому один и сообщения об ошибке:

Код ошибки 911: База данных «mydtb» не существует. Убедитесь, что имя введено правильно.

Я новичок в этой области, но если источник данных в этом случае (для подключения к базе данных, созданной в Visual Studio) будет Data Source=.\\SQLEXPRESS;, как это, когда база данных создается в среде SQL Server Management Studio?

Большое спасибо за любую помощь и предложения! asp.net возбужден новичок :-)

+1

Это может быть полезно для подключения к локальной базе данных: http://msdn.microsoft.com/en-us/library/ms171890.aspx –

+2

Примечание, не связанное с вашим ответом, вы можете рассмотреть инструкцию 'using' с ваши связи. См. Это: http://www.codeproject.com/Articles/6564/Understanding-the-using-statement-in-C – liebs19

+1

сторона примечание ... использование VS 2012 ... не начинайте учиться на старой среде IDE. .. сэкономить некоторое время ... – Leonardo

ответ

1

Проблема, что вы имели в отношении подключения к базе данных на сервере из-за

SqlConnection dbConnection = new SqlConnection("Data Source=.\\SQLEXPRESS;Integrated Security=true"); 

Лучший способ сделать это, чтобы перейти к Web. config file и найдите блок и добавьте в него соединение с вашей базой данных.

например

<add name="ConnectionString" connectionString="Data Source=YOUR SERVER;Initial Catalog=YOUR DATABASE;User ID=YOUR USER ID;Password=YOUR PASSWORD" /> 

, то вы можете просто вызвать строку соединения accross весь ваш проект всякий раз, когда вам нужно использовать его.

Также касается VS2012. Есть очень мало компаний, использующих этот IDE на данный момент так ваш, вероятно, лучше учиться VS 2010 в большей части, но я согласен, что VS2008 довольно устарели в настоящее время

-1

я думаю, что это поможет

SqlConnection dbConnection = new SqlConnection("Data 
    Source=.\\SQLEXPRESS;Integrated Security=true; initial 
    catalog=database name; uid=servername ; password=yourpassword"); 
Смежные вопросы