Опция не поддерживается имя параметра: attachdbfilename - PullRequest
0 голосов
/ 08 декабря 2018

Я получаю сообщение об ошибке, когда я отлаживаю свой код (он не показывает ошибок перед отладкой). Ниже приведен код, написанный в Visual Studio 2017 с использованием C #

using MySql.Data;
using MySql.Data.MySqlClient;

namespace MARUBI
{
    public partial class addUser : Form
    {
        MySqlConnection con;
        MySqlDataAdapter da;
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();

        public addUser()
        {
            InitializeComponent();
            string str = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=E:\MARUBI\MARUBI\MARUBI\MarubiDB.mdf;Integrated Security=True;Connect Timeout=30";
            con = new MySqlConnection(str);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string username = textBox1.Text;
                string password = textBox2.Text;
                string name = textBox3.Text;
                string surename = textBox4.Text;
                string tel = textBox5.Text;
                string email = textBox6.Text;
                string sql = "INSERT INTO dbo.users(username, password, name, surename, tel, email) VALUES ('"+username+"', '"+password+"','"+name+"','"+surename+"','"+tel+"','"+email+"'";

                try
                {
                    con.Open();

                    da = new MySqlDataAdapter();
                    da.InsertCommand = new MySqlCommand(sql, con);
                    da.InsertCommand.ExecuteNonQuery();

                    MessageBox.Show("Values inserted succesfully");

                    load_grid();
                    con.Close();
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        public void load_grid()
        {
            dt.Clear();
            MySqlDataAdapter da = new MySqlDataAdapter();

            try
            {
                string sql = "SELECT * FROM USERS";
                con.Open();
                da.SelectCommand = new MySqlCommand(sql, con);
                da.Fill(ds);
                da.Fill(dt);
                con.Close();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void addUser_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'marubiDBDUSERS.users' table. You can move, or remove it, as needed.

            load_grid();

        }
    }

Это мой код и яполучить ошибку

System.ArgumentException: 'Опция не поддерживается.
Имя параметра: attachdbfilename'

1 Ответ

0 голосов
/ 08 декабря 2018

Ваш код C # использует драйвер MySQL:

MySqlConnection con;
MySqlDataAdapter da; 

, но переданная вами строка подключения - одна для совершенно другой системы баз данных от конкурирующего поставщика (Microsoft SQL Server):

"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=E:\MARUBI\MARUBI\MARUBI\MarubiDB.mdf"

Либо используйте правильный код, либо правильную строку подключения;вы не сказали, какую базу данных вы на самом деле использовали

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