Как внедрить из Asp.net в базу данных SQL? - PullRequest
2 голосов
/ 10 апреля 2019

Мне трудно понять, что не так с моим кодом.Цель состоит в том, чтобы перенести данные из регистрационной формы в ASP в мои столбцы пользовательских данных в моей базе данных SQL.

SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);        

try
{
    string cmd = "insert into UserLogin 
    values(@UserName,@Password)";

    SqlConnection cnn = new SqlConnection(cmd);
    SqlCommand cmd2 = new SqlCommand(cmd, cnn);
    cmd2.Parameters.AddWithValue("@UserName", UsernameBox.Text);
    cmd2.Parameters.AddWithValue("@Password", PasswordBox.Text);

    cnn.Open();
    cmd2.ExecuteNonQuery();

Ответы [ 2 ]

2 голосов
/ 10 апреля 2019

Вы используете строку подключения в переменной connection, но переменная, которую вы передаете SqlCommand, равна cnn, с которой не связана действительная строка подключения.

Я очистил ваш код и использовал блок using для обеспечения правильного способа утилизации объекта.Пожалуйста, смотрите ниже:

string connectionString = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString;

using (var con = new SqlConnection(connectionString))
{
   string query = "insert into UserLogin values(@UserName, @Password)";
   using (var cmd = new SqlCommand(query, con))
   {
      cmd.Parameters.AddWithValue("@UserName", UsernameBox.Text);
      cmd.Parameters.AddWithValue("@Password", PasswordBox.Text);

      con.Open();
      cmd.ExecuteNonQuery();
    }
}
1 голос
/ 10 апреля 2019

У вас есть две переменные SqlConnection и вы присваиваете неверную переменную в SqlCommand. Рабочий код будет:

SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);        

try
{
    string cmd = "insert into UserLogin values(@UserName, @Password)";

    SqlCommand cmd2 = new SqlCommand(cmd, connection);
    cmd2.Parameters.AddWithValue("@UserName", UsernameBox.Text);
    cmd2.Parameters.AddWithValue("@Password", PasswordBox.Text);

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