У меня есть приложение, написанное на asp.net и C#. Я использую класс с подключенным режимом для вставки/обновления и удаления операторов. У меня есть правильная команда try, catch и finally, которая открывает и закрывает OracleConnection. Но все же иногда он просто выходит без закрытия соединения и делает блокировки в DataBase, что, в свою очередь, останавливает сайт.Вызов INSERT/UPDATE/DELETE с использованием DataAdapter.Fill()
Теперь я решил изменить запросы в отключенном режиме, когда DataAdapter будет управлять проблемами подключения. Мне нужно выполнить пользовательские запросы с параметрами.
Я написал приложение, в котором я попытался вызвать инструкции INSERT/UPDATE/DELETE, используя метод FILL объекта DataAdapter. Его работа прекрасна. (Для метода da.Update() для него требуется состояние строки и строки и т. Д., Которое, как я думал, будет жестким)
Я хочу знать, будут ли возникать проблемы с производительностью базы данных или приложения, если i используйте этот метод?
int i = 0;
using (OracleConnection con = new OracleConnection(WebConfigurationManager.ConnectionStrings["MYSTRING"].ConnectionString))
{
OracleCommand cmd = new OracleCommand("INSERT INTO MYTABLE(ID) VALUES(:ID)", con);
cmd.Parameters.AddWithValue(":ID", 123);
using (OracleDataAdapter da = new OracleDataAdapter(cmd))
{
i = da.Fill(new DataSet());
}
cmd.Dispose();
}
return i;
В приведенном выше коде используется любой запрос (вставка, обновление, удаление), который отправляется в DataAdapter. Должен ли я сделать это любым другим способом или это будет нормально?
Я думаю, что я вижу, что вы до, и я сделал что-то подобное. Я хотел создать своего рода общую оболочку вокруг моего уровня базы данных, чтобы я мог легко вызвать хранимую процедуру со списком параметров без необходимости указывать Insert/Update/Delete. Использование DataAdapter.Fill(), похоже, работает, и я также не заметил каких-либо достижений производительности, но я также не уверен, что это хорошая практика или нет. Думаю, я буду продолжать использовать его, пока не узнаю иначе! –