C#利用update更新数据到oracle数据库
现在我要利用C#中的update函数将表格的数据更新到oracle的数据库,但是我知道oracle的数据库更新数据都要写上commit提交,我直接update上去有没有问...
现在我要利用C#中的update函数将表格的数据更新到oracle的数据库,但是我知道oracle的数据库更新数据都要写上commit提交,我直接update上去有没有问题,会不会造成死锁?如果不能这样做,要怎样才可以构造事务更新(除了使用存储过程),还有下面的写法出错,提示连接关闭,要怎样该才对?
private Boolean orclupdate(DataTable dt)
{
OracleTransaction tran = null;
Boolean f = false;
try
{
tran = orclconn.BeginTransaction();
orcladapter.Update(dt);
tran.Commit();
f = true;
}
catch (Exception ex)
{
tran.Rollback();
MessageBox.Show("数据更新错误!" + ex.Message);
}
return f;
} 展开
private Boolean orclupdate(DataTable dt)
{
OracleTransaction tran = null;
Boolean f = false;
try
{
tran = orclconn.BeginTransaction();
orcladapter.Update(dt);
tran.Commit();
f = true;
}
catch (Exception ex)
{
tran.Rollback();
MessageBox.Show("数据更新错误!" + ex.Message);
}
return f;
} 展开
2个回答
2016-01-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
C#利用update更新数据到oracle数据库:
第一步:打开oracle数据库
public static string connString = "";
public static OracleConnection conn = null;
//打开数据库连接
public static bool Open()
{
//从配置文件中获取连接字符串
//配置文件需要放在项目目录下的bin\Release中
connString = getXmlValue("connString");
conn = new OracleConnection(getXmlValue("connString"));
try
{
conn.Open();
Console.WriteLine("数据库连接成功");
return true;
}
catch (System.Exception ex)
{
Console.Write(ex.Message);
MessageBox.Show("未能连接到数据库");
return false;
}
第二步:执行更新方法:
public static int update(int ruleId, int equipmentId, String equipmentName, String propertyName, int ruleType, String ruleRequest, String ruleRequestOther, String ruleExplain)
{
String sql = "update Device_Attr t set t.BASEID = :equipmentId, t.BASENAME = :equipmentName,t.CA_NAME = :propertyName,t.CA_RULETYPE = :ruleType,t.CA_RULETEXT = :ruleRequest,t.CA_RULETEXT2 = :ruleRequestOther,t.CONTENT = :ruleExplain where t.CA_ID =:ruleId";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleParameter param_1 = new OracleParameter(":equipmentId", equipmentId);
cmd.Parameters.Add(param_1);
OracleParameter param_2 = new OracleParameter(":equipmentName", equipmentName + "$");
cmd.Parameters.Add(param_2);
OracleParameter param_3 = new OracleParameter(":propertyName", propertyName);
cmd.Parameters.Add(param_3);
OracleParameter param_4 = new OracleParameter(":ruleType", ruleType);
cmd.Parameters.Add(param_4);
OracleParameter param_5 = new OracleParameter(":ruleRequest", ruleRequest);
cmd.Parameters.Add(param_5);
OracleParameter param_6 = new OracleParameter(":ruleRequestOther", ruleRequestOther);
cmd.Parameters.Add(param_6);
OracleParameter param_7 = new OracleParameter(":ruleExplain", ruleExplain);
cmd.Parameters.Add(param_7);
OracleParameter param_8 = new OracleParameter(":ruleId", ruleId);
cmd.Parameters.Add(param_8);
int result = cmd.ExecuteNonQuery();
return result;
}
第一步:打开oracle数据库
public static string connString = "";
public static OracleConnection conn = null;
//打开数据库连接
public static bool Open()
{
//从配置文件中获取连接字符串
//配置文件需要放在项目目录下的bin\Release中
connString = getXmlValue("connString");
conn = new OracleConnection(getXmlValue("connString"));
try
{
conn.Open();
Console.WriteLine("数据库连接成功");
return true;
}
catch (System.Exception ex)
{
Console.Write(ex.Message);
MessageBox.Show("未能连接到数据库");
return false;
}
第二步:执行更新方法:
public static int update(int ruleId, int equipmentId, String equipmentName, String propertyName, int ruleType, String ruleRequest, String ruleRequestOther, String ruleExplain)
{
String sql = "update Device_Attr t set t.BASEID = :equipmentId, t.BASENAME = :equipmentName,t.CA_NAME = :propertyName,t.CA_RULETYPE = :ruleType,t.CA_RULETEXT = :ruleRequest,t.CA_RULETEXT2 = :ruleRequestOther,t.CONTENT = :ruleExplain where t.CA_ID =:ruleId";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleParameter param_1 = new OracleParameter(":equipmentId", equipmentId);
cmd.Parameters.Add(param_1);
OracleParameter param_2 = new OracleParameter(":equipmentName", equipmentName + "$");
cmd.Parameters.Add(param_2);
OracleParameter param_3 = new OracleParameter(":propertyName", propertyName);
cmd.Parameters.Add(param_3);
OracleParameter param_4 = new OracleParameter(":ruleType", ruleType);
cmd.Parameters.Add(param_4);
OracleParameter param_5 = new OracleParameter(":ruleRequest", ruleRequest);
cmd.Parameters.Add(param_5);
OracleParameter param_6 = new OracleParameter(":ruleRequestOther", ruleRequestOther);
cmd.Parameters.Add(param_6);
OracleParameter param_7 = new OracleParameter(":ruleExplain", ruleExplain);
cmd.Parameters.Add(param_7);
OracleParameter param_8 = new OracleParameter(":ruleId", ruleId);
cmd.Parameters.Add(param_8);
int result = cmd.ExecuteNonQuery();
return result;
}
TableDI
2024-07-18 广告
2024-07-18 广告
VLOOKUP函数在Excel中用于匹配两个表格的数据。具体步骤如下:1. 确定查找值:在目标表格中选择要查找的单元格或数据。2. 确定查找范围:转到另一个表格(例如,工作表A),并指定包含查找值的范围。注意该范围的首列应包含要查找的值。3...
点击进入详情页
本回答由TableDI提供
展开全部
private Boolean orclupdate(DataTable dt)
{
OracleTransaction tran = null;
Boolean f = false;
try
{
tran = orclconn.BeginTransaction();
tran.open();
orcladapter.Update(dt);
tran.Commit();
f = true;
}
catch (Exception ex)
{
tran.Rollback();
tran.close();
MessageBox.Show("数据更新错误!" + ex.Message);
}
return f;
}
{
OracleTransaction tran = null;
Boolean f = false;
try
{
tran = orclconn.BeginTransaction();
tran.open();
orcladapter.Update(dt);
tran.Commit();
f = true;
}
catch (Exception ex)
{
tran.Rollback();
tran.close();
MessageBox.Show("数据更新错误!" + ex.Message);
}
return f;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询