У меня есть gridview asp.net, подключенный к моей базе данных sql. При вставке новой записи или обновлении записи im, выполняющей некоторые проверки на сервере, а затем либо обновите/вставьте запись, либо ничего не сделайте. прямо сейчас у меня есть 2 метода CheckArtistExists и CheckSongExists, которые оба используют объект SqlConnection, например.несколько SqlConnections для одной функции: плохая идея?
public bool CheckSongExists(string _title, int _artistId)
{
int cnt = -1;
using (SqlConnection con = new SqlConnection(CS))
{
//check if song already is exists in DB
SqlCommand cmd = new SqlCommand("Select Count(ID) from tblSong WHERE Title = @newTitle AND ArtistId = @newArtistId;", con);
cmd.Parameters.AddWithValue(@"newTitle", _title);
cmd.Parameters.AddWithValue(@"newArtistId", _artistId);
con.Open();
cnt = (int)cmd.ExecuteScalar();
// if cnt ==1 song exists in DB, of cnt == 0 song doesnt exist
if(cnt == 1)
{ return true; }
else
{ return false; }
}
}
Таким образом, для функции обновления в GridView мне нужно установить 3 SqlConnections (при макс) один для проверки художника (если художник оленьей кожи существовать я должен вставить запись в tblArtist первым) то чек если песня существует (только если художник существует), и, наконец, если песня не существует, мне нужно вставить новую запись.
Я знаю, что соединения с базой данных - это ценные ресурсы, поэтому я поместил их в блок использования. Поэтому я не совсем уверен, что его хороший стиль для использования 3 объектов SqlConnection для обновления/вставки. Не могли бы вы рассказать мне, подходит ли мой код или я предпочитаю использовать другой подход для этой проблемы.
спасибо