Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SQL С++ VS Сохранение конкретных столбцов в строке, а не всю строку. Как сделать, чтобы всё было только в одной строке?

Natsu Ученик (234), на голосовании 3 недели назад
try
{
String^ connectionstring = "Data Source=WIN-DFFK8CA8HJQ\\SQLEXPRESS;Initial Catalog=DBConstructorTesting;Persist Security Info=True;Integrated Security=true;";
SqlConnection con(connectionstring);
con.Open ();

String^ sqlquery = "INSERT INTO Table2 (questions) VALUES (@param8)";
SqlCommand cmd(sqlquery, % con);

cmd.Parameters->AddWithValue("@param8", textBox1->Text);

cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception^ ex)
{
throw ex;
}
этот код сохраняет в столбец значение вместе со все строкой, когда в другой форме по подобному методу сохраняю, то он сохраняет новый столбец и создаёт новую строку. Как сделать так, чтобы всё было только в одной строке?
Голосование за лучший ответ
sdadas bvcbcvd Знаток (276) 1 месяц назад
try
{
String^ connectionstring = "Data Source=WIN-DFFK8CA8HJQ\\SQLEXPRESS;Initial Catalog=DBConstructorTesting;Persist Security Info=True;Integrated Security=true;";
SqlConnection con(connectionstring);
con.Open ();

// Предположим, что у вас есть уникальный идентификатор (например, id) для строки, которую вы хотите обновить
int id = 1; // Замените это значение на нужный вам идентификатор

String^ sqlquery = "UPDATE Table2 SET questions = @param8 WHERE id = @id";
SqlCommand cmd(sqlquery, % con);

cmd.Parameters->AddWithValue("@param8", textBox1->Text);
cmd.Parameters->AddWithValue("@id", id); // Добавляем параметр id для обновления нужной строки

cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception^ ex)
{
throw ex;
}
sdadas bvcbcvdЗнаток (276) 1 месяц назад
Могу объяснить что именно здесь изменено,
sdadas bvcbcvd Знаток (276) sdadas bvcbcvd, Если что-то не ясно, спрашивайте
NatsuУченик (234) 1 месяц назад
Понял, спасибо. А вот если надо будет несколько сохранить, то надо просто повторить данные код или через запятую указать в этой строке?
String^ sqlquery = "UPDATE Table2 SET questions = @param8 WHERE id = @id";
sdadas bvcbcvdЗнаток (276) 1 месяц назад
ну, ты можешь указать их через запятую в строке SQL. Например, если ты хочешь обновить столбцы questions, answers и date
Natsu Ученик (234) sdadas bvcbcvd, У меня вот такая таблица. Можете пример, как записать. Не совсем понимаю в какой строке. Я в этом новичок и очень нуб.System.Data.SqlClient.SqlException: "Неправильный синтаксис около конструкции "int". Необходимо объявить скалярную переменную "@id"." при запуске такая ошибка
sdadas bvcbcvdЗнаток (276) 1 месяц назад
Пояснения:
Несколько столбцов: ты добавил дополнительные столбцы в запрос с помощью запятой, например, answers и date.
Параметры: Для каждого нового столбца добавляются соответствующие параметры (@param9, @param10 и т. д.).
sdadas bvcbcvd Знаток (276) sdadas bvcbcvd, не смогу код вставить, много символов слишком.
NatsuУченик (234) 1 месяц назад
чтобы у вас сверх много времени не забирать спрошу так. Если я прочитаю эту книгу Sams Teach Yourself Database Programming
with Visual C++ 6 in 21 Days, то я смогу сам этим заниматься всем?
sdadas bvcbcvd Знаток (276) Natsu, лучше курсы чекай, а так да, книги дают неплохой буст
NatsuУченик (234) 1 месяц назад
https://otvet.mail.ru/question/240678147 помогите пожалуйста с этим вопросом
Похожие вопросы