Member 13572556 Ответов: 2

Как сохранить все введенное значение метки в label с помощью SQL в C# ASP.NET


Я хочу, чтобы все введенные метки отображались в метке.

Что я уже пробовал:

SqlConnection con   = new SqlConnection(@"Data Source = My-pc\Sqlexpress; Integrated Security = SSPI; user = Sa; Password = 
            SqlCommand cmd = new SqlCommand("Insert Into EnterMessage (Message) Values ('" + lblEnterMessage.Text + "', '" + txtMessage.Text + "','");
            con.Open();
            cmd.Parameters.AddWithValue("EnterMessage", txtMessage.Text);
            cmd.ExecuteNonQuery();
            SqlDataAdapter sda = new SqlDataAdapter();
            SqlDataReader reader = cmd.ExecuteReader();
            con.Close();

2 Ответов

Рейтинг:
15

Dave Kreskowiak

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

О, и использование учетной записи SA-действительно плохая идея. Спасибо и за пароль тоже.

Эта учетная запись дает приложению доступ к любой базе данных, даже к ее уничтожению. Возможно, вы захотите поискать в Google "атаку SQL-инъекций", чтобы узнать, почему то, что вы делаете, так плохо, а затем поискать в Google "C# parameterize queries", чтобы узнать, что с этим делать.


Рейтинг:
1

Laxmidhar tatwa technologies

SqlConnection con   = new SqlConnection(@"Data Source = My-pc\Sqlexpress; Integrated Security = SSPI; user = Sa; Password = 
            SqlCommand cmd = new SqlCommand("Insert Into EnterMessage (Message) Values ('"  + txtMessage.Text + "'");
            con.Open();
           
            cmd.ExecuteNonQuery();
            
            con.Close();


Richard Deeming

Вы скопировали SQL-инъекция[^] уязвимость от вопроса.

НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.