Это мой SQL-запрос и его выполнение, но я хочу обновить конкретный столбец таблицы с помощью этого запроса, поэтому как и где я пишу запрос на обновление?
public void Add()
{
SqlConnection sqlcon = new SqlConnection("server =(LocalDB)\\MSSQLLocalDB; Database = Online Medical Store ; integrated security = true");
sqlcon.Open();
SqlCommand cmd = new SqlCommand("select LastName, FirstName, FatherName, Address, City, Contact, EmailAddress,BookSubject,BookTitle,EditionNumber,ISBN_Number,Issue_Date from IssueBooks where StudentID =@studentID and " +
"ISBN_Number = @isbnNumber", sqlcon);
cmd.Parameters.AddWithValue("@studentID", studentId);
cmd.Parameters.AddWithValue("@ISbnNumber", ISbnNumber);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows == true)
{
throw new Exception(" One Student Can Take Only One Book ");
}
else
{
SqlConnection con = new SqlConnection("server =(LocalDB)\\MSSQLLocalDB; Database = Online Medical Store ; integrated security = true");
con.Open();
SqlCommand sqlcmd = new SqlCommand("insert into IssueBooks(StudentID,LastName,FirstName,FatherName,Address, City," +
" Contact, EmailAddress, BookSubject, BookTitle,EditionNumber, ISBN_Number,Issue_Date)values" +
"(@studentID,@lastName,@firstName,@fatherName,@address,@city, @contact,@emailAddress,@BookSubject, @BookTitle, @EditionNumber, @ISBN_Number,@IssueDate)", con);
sqlcmd.Parameters.AddWithValue("@studentID", studentId);
sqlcmd.Parameters.AddWithValue("@lastName", LastName);
sqlcmd.Parameters.AddWithValue("@firstName", FirstName);
sqlcmd.Parameters.AddWithValue("@fatherName", FatherName);
sqlcmd.Parameters.AddWithValue("@address", Address);
sqlcmd.Parameters.AddWithValue("@city", City);
sqlcmd.Parameters.AddWithValue("@contact", Contact);
sqlcmd.Parameters.AddWithValue("@emailAddress", EmailAddress);
sqlcmd.Parameters.AddWithValue("@BookSubject", bookSubject);
sqlcmd.Parameters.AddWithValue("@BookTitle", bookTitle);
sqlcmd.Parameters.AddWithValue("@EditionNumber", EditionNumber);
sqlcmd.Parameters.AddWithValue("@ISBN_Number", isbnNumber);
sqlcmd.Parameters.AddWithValue("@IssueDate", Issue_Date);
sqlcmd.ExecuteNonQuery();
}
sqlcon.Close();
}
КСТАТИ. Всего одна книга довольно суровая. Моя местная библиотека в настоящее время позволяет хранить до 20 предметов.
Да, есть 2 запроса, но я хочу добавить еще один запрос на обновление в этом разделе, поэтому, пожалуйста, расскажите мне, как и где я добавляю запрос на обновление, я хочу обновить конкретный столбец таблицы с помощью запроса на обновление. @tymtam
что такое запрос на слияние напишите пожалуйста как и где @llama
Как: Прочтите документация! Где: Где вам это нужно ...?
@llama в моем случае, когда я пишу запрос на обновление?
Только вы знаете, что где вы хотите выполнить обновление. Предположительно, вы хотите сделать это в фрагменте кода, в котором вы сейчас генерируете исключение? Как вы вообще довели свой код до этой стадии?
после вставки запроса я хочу обновить определенный столбец таблицы, поэтому мой вопрос: как и где я пишу запрос на обновление? @llama
Почему вы все время спрашиваете «где»? Напишите его там, где вам логически нужно, чтобы он запускался. Если это не сценарий «если существует, обновить, в противном случае вставить», то мое предложение о слиянии бесполезно. UPDATE - это то, что вам нужно.
Другие вещи, о которых нужно подумать: AddWithValue - это зло, укажите типы и длину параметров. Строку подключения не кодируйте жестко, поместите ее в файл настроек. Утилизируйте соединение и считыватель с using. Нет необходимости выбирать все эти столбцы, если вам нужна только проверка exists. В любом случае подумайте о том, чтобы поместить все это в один пакет и вернуть код ошибки, особенно если у вас есть состояние гонки между двумя вашими запросами. ...





Не могли бы вы рассказать подробнее о том, что вы пытаетесь сделать? Здесь есть два запроса: выбрать и вставить. Думаете сменить метод с
AddнаAddOrUpdate?