我有一个在asp.net和C#中编写的应用程序。我正在使用连接模式的类来插入/更新和删除语句。我有适当的尝试,捕捉和最后的声明是打开和关闭OracleConnection。但有时候它仍然只是在没有关闭连接的情况下离开,并且正在锁定DataBase,从而使网站停止。使用DataAdapter.Fill调用INSERT/UPDATE/DELETE
现在我想将查询更改为断开连接模式,DataAdapter将管理连接问题。我需要使用参数执行自定义查询。
我写了一个应用程序,我尝试使用DataAdapter对象FILL方法调用INSERT/UPDATE/DELETE语句。它的工作很好(对于da.Update()方法,它需要一个行和行状态等,我认为这将是艰难的)
我想知道会有任何问题的数据库或应用程序的性能,如果我使用这个方法?
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的任何查询(插入,更新,删除)。我应该以任何其他方式做,否则这会好吗?
我想我看到你在忙什么,我已经做了类似的事情。我想创建一种围绕数据库层的通用包装,以便我可以轻松地调用带有参数列表的存储过程,而无需指定插入/更新/删除。使用DataAdapter.Fill()似乎工作,我也没有注意到任何性能命中,但我也不确定这是否是一种好的做法。我想我会继续使用它,直到我发现否则! –