Как я могу исправить ошибку «Эта база данных не может быть импортирована» в Visual Studio? - PullRequest
0 голосов
/ 03 мая 2019

У меня есть программа на C #, которая использует базу данных SQL. У меня есть возможность создать учетную запись и сохранить информацию о пользователе в базе данных. Если я создаю новую учетную запись, она работает, и когда я хочу просмотреть содержимое базы данных, она выдает мне эту ошибку:

Эта база данных не может быть импортирована. Это либо неподдерживаемая версия SQL Server, либо неподдерживаемая совместимость.

Вот код, который я написал для создания нового пользователя.

try
{

    if (string.IsNullOrEmpty(textBoxEmail.Text.ToString()) || string.IsNullOrEmpty(textBoxFirstName.Text.ToString()) || string.IsNullOrEmpty(textBoxLastName.Text.ToString()) || string.IsNullOrEmpty(textBoxPassword.Text.ToString()) || string.IsNullOrEmpty(textBoxUsername.Text.ToString()))
    {
        textBoxEmail.Text = " ";
        textBoxFirstName.Text = " ";
        textBoxLastName.Text = " ";
        textBoxPassword.Text = " ";
        textBoxUsername.Text = " ";
        MessageBox.Show("Please enter a valid value", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    else
    {

        using (SqlCommand _cmd = new SqlCommand("INSERT INTO Students(username, first_name, last_name, email, password) VALUES (@user, @first, @last, @email, @pass)", _conn))
        {
            using (SqlCommand cmd = new SqlCommand("SELECT * FROM Students WHERE username=@user", _conn))
            {
                _conn.Open();
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@user", this.textBoxUsername.Text.ToString().Trim());
                cmd.ExecuteNonQuery();
                rd = cmd.ExecuteReader();

                if (rd.HasRows)
                {
                    while (rd.Read())
                    {
                        MessageBox.Show("Username already exists, please use another one", "Username exists", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
                        _conn.Close();
                        return;
                    }
                }
                rd.Close();
                _conn.Close();
            }
            _conn.Open();
            _cmd.Parameters.Clear();
            _cmd.Parameters.AddWithValue("@user", this.textBoxUsername.Text.ToString().Trim());
            _cmd.Parameters.AddWithValue("@first", this.textBoxFirstName.Text.ToString().Trim());
            _cmd.Parameters.AddWithValue("@last", this.textBoxLastName.Text.ToString().Trim());
            _cmd.Parameters.AddWithValue("@email", this.textBoxEmail.Text.ToString().Trim());
            _cmd.Parameters.AddWithValue("@pass", this.textBoxPassword.Text.ToString().Trim());
            _cmd.ExecuteNonQuery();
            _conn.Close();
        }
        textBoxEmail.Text = " ";
        textBoxFirstName.Text = " ";
        textBoxLastName.Text = " ";
        textBoxPassword.Text = " ";
        textBoxUsername.Text = " ";
        DialogResult res = MessageBox.Show("User created succesfully\nDo you want to login?", "User created", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
        if (res == DialogResult.Yes)
        {
            Form1 form = new Form1();
            this.Hide();
            form.ShowDialog();
        }
        else
        {
            return;
        }
    }
}
catch(Exception ex)
{
    textBoxEmail.Text = " ";
    textBoxFirstName.Text = " ";
    textBoxLastName.Text = " ";
    textBoxPassword.Text = " ";
    textBoxUsername.Text = " ";
    MessageBox.Show("Error:\n" + ex, "Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

И, пожалуйста, скажите, есть ли другой способ просмотра содержимого базы данных SQL.

Здесь , когда я нажимаю обновить, это дает мне эту ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...