2015-01-20 3 views
-2

В Visual Studio Form, Im, создающее приложение C#. Я пытаюсь добавить данные, введенные в регистрационную форму, и сохранить их в файле базы данных MDF, который я создал с помощью таблиц. Но я не могу подключиться к базе данных, Любая помощь?Подключение к базе данных MDF

Мой Регистр Кнопка Код при его нажатии

private void CreateAccBtn_Click(object sender, EventArgs e) 
{ 
    string ConnectToDatabase = ("Data Source= (LocalDB)\v11.0;AttachDbFilename=E:\\Work\\Information Systems  Development\\Game\\My Brain Cognitive Game\\My Brain Cognitive Game\\Brain Game Database.mdf;Integrated Security=True;Connect Timeout=10"); 
    SqlConnection ConnectDatabase = new SqlConnection(ConnectToDatabase); 
    SqlCommand CMDDatabase = new SqlCommand("Insert Into Brain Game Database.User Table (User Name, Date Of Birth, Gender, Date Account Created, Condition, Email, Password) values('" + this.NewUsernameTxtBox.Text + "','" + this.DOBDateTimePicker3.Text + "','" + this.SexListBox1.Text + "','" + this.CurrentDatePicker1.Text + "','" + this.NewConditionTxtBox.Text + "','" + this.NewEmailTxtBox.Text + "','" + this.NewPasswordTxtBox.Text + "');",ConnectDatabase); 
    SqlDataReader MyReader; 
    try 
    { 
     ConnectDatabase.Open(); 
     MyReader = CMDDatabase.ExecuteReader(); 
     MessageBox.Show("Account Created"); 
     while (MyReader.Read()) 
     { 

     } 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
} 
+1

'Но я не могу подключиться к database' что это значит? Какое сообщение об ошибке вы получаете? Какие исследования вы просили, прежде чем спрашивать здесь? Почти все сообщения об ошибках, которые вы могли получить, уже ответили и объяснялись много раз. Итак, что делает ваш случай конкретным, что вы решили создать новый вопрос? – walther

+0

[C# ConnectionStrings для баз данных] (http://www.connectionstrings.com) также вы можете поместить файл в более короткий путь к файлу, просто любопытный с этими пробелами 'AttachDbFilename = E: \\ Work \\ Information Systems Development \\ Игра \\ Моя мозговая когнитивная игра \\ Моя мозговая когнитивная игра \\ Brain Game Database.mdf; 'Я бы предложил добавить букву' @ ' – MethodMan

+0

, она просто говорит:« Связанная с сетью или конкретная ошибка экземпляра возникла при установлении соединения на SQL Server. (поставщик: поставщик Named Pipes, ошибка: 40 - Не удалось открыть соединение с SQL Server) – Rajan

ответ

0

Есть несколько вещей, чтобы помочь вам подключиться. Я только что помог нескольким ученикам связаться с ними на этой неделе.

Пожалуйста, проверьте строка подключения является правильным (указывает на правильное местоположение - путь файла .mdf)

  1. Убедитесь, что строка соединения является правильным.
  2. Попробуйте не дублировать базу данных в своем проекте.
  3. Убедитесь, что путь к вашей базе данных во всех настройках верен (наличие дублирующейся базы данных может вас смутить)
  4. При добавлении нового соединения есть кнопка Test Connection. Щелкните по нему и убедитесь, что соединение работает до того, как вы попытаетесь выполнить запрос из кодов.
  5. Как только все будет сделано, используйте запрос запроса Select * FROM tblName, чтобы проверить сначала, а не использовать инструкцию insert, которая более подвержена ошибкам typo.

Вы можете попробовать следующее (вместо того, чтобы использовать SqlCommand объект):

string queryStr = "YOUR SQL QUERY HERE"; 
SqlCommand cmd = new SqlCommand(queryStr, new SqlConnection(connectionString)); 
cmd.Connection = sqlConnection; 
sqlConnection.Open(); 
cmd.ExecuteNonQuery(); 
sqlConnection.Close(); 
+0

У меня есть один файл MDF в исходной папке, и у меня есть одна и та же база данных в папке bin/Debug. тестовое соединение преуспевает, затем я перехожу к дополнительным настройкам и скопировал ссылку источника данных внизу и вставлял их в строку ConnectToDatase. – Rajan

+0

@Rajan Я вижу длинные пробелы в вашей строке подключения , так что, возможно, вы действительно хотите убедиться, что строка подключения в ваших кодах верна. – user3437460

+0

пробелы появлялись только в том случае, когда я задавал вопрос как код, необходимый для запроса. – Rajan

Смежные вопросы