Resolving a connection String issue

Viewed 91

I have an SQL connection string that gives me an error.

The error is :

System.ArgumentException: 'Keyword not supported: 'allowuservariables'.'

using (SqlConnection con = new SqlConnection())
        {
            con.ConnectionString = "server=localhost;user id=root;database=Phone_diary_project1;allowuservariables=True;persistsecurityinfo=True";
            con.Open();
            using (SqlCommand com = con.CreateCommand())
            {
                com.CommandText = "insert into diary(First," +
                    "Last," +
                    "Mobile," +
                    "Email," +
                    "" +
                    "Category) " +
                    "values(" +
                    "@prm1," +
                    "@prm2," +
                    "@prm3," +
                    "@prm4," +
                    "@prm5) ";
                com.Parameters.Add("@prm1", SqlDbType.VarChar, 50).Value = textBox1.Text;
                com.Parameters.Add("@prm2", SqlDbType.VarChar, 50).Value = textBox2.Text;
                com.Parameters.Add("@prm3", SqlDbType.Int).Value = textBox3.Text;
                com.Parameters.Add("@prm4", SqlDbType.VarChar, 50).Value = textBox4.Text;
                com.Parameters.Add("@prm5", SqlDbType.VarChar, 50).Value = comboBox1.Text;
                com.ExecuteNonQuery();
            }
            con.Close();
        }
1 Answers

AllowUserVariables is a MySQL Connection string option: https://mysqlconnector.net/connection-options/#AllowUserVariables. (You've also tagged this question mysql.)

However, your code is using SqlConnection, which is only for connections to Microsoft SQL Server. Install MySqlConnector from NuGet and change your code to use MySqlConnection, MySqlCommand, MySqlDbType, etc.

BTW, you don't actually need AllowUserVariables for this code example; command parameters are always allowed in MySQL statements.

Related