我有一个用 asp.net 和 C# 编写的应用程序。我正在使用具有连接模式的类来插入/更新和删除语句。我有适当的 try、catch 和 finally 语句来打开和关闭 OracleConnection。但有时它只是在没有关闭连接的情况下退出并在数据库中锁定,这反过来又使网站停止。
现在我想将查询更改为断开连接模式,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 的任何查询(插入、更新、删除)。我应该以任何其他方式这样做还是可以?