C#3.5+ORACLE8i和VB6.0+ORACLE8i

本文提供了使用Oracle进行数据插入及更新的示例代码,包括不带事务和带事务的两种情况,采用C#和VB.NET两种语言实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OracleConnection oracleConnection = new OracleConnection(@"Data Source=lys;Persist Security Info=True;User ID=system;Password=manager;Unicode=True");

try
{
    oracleConnection.Open();

    //OracleCommand oracleCommand = new OracleCommand("insert into test2 (name) values ('" + TextBox1.Text.Trim() + "')", oracleConnection);
    //oracleCommand.ExecuteNonQuery();

    DataSet dataSet = new DataSet();
    OracleDataAdapter oracleDataAdapter = new OracleDataAdapter("SELECT * FROM TEST2", oracleConnection);
    OracleCommandBuilder oralceCommandBuilder = new OracleCommandBuilder(oracleDataAdapter);
    oracleDataAdapter.Fill(dataSet);

    DataRow newDataRow = dataSet.Tables[0].NewRow();

    newDataRow["name"] = "一寸血";

    dataSet.Tables[0].Rows.Add(newDataRow);
    oracleDataAdapter.Update(dataSet);
 }
 finally
 {
    oracleConnection.Close();
 }

 
//带事务的 

OracleConnection oracleConnection = new OracleConnection(@"Data Source=lys;Persist Security Info=True;User ID=system;Password=manager;Unicode=True");
try
{

    oracleConnection.Open();

    //OracleCommand oracleCommand = new OracleCommand("insert into test2 (name) values ('" + TextBox1.Text.Trim() + "')", oracleConnection);
    //oracleCommand.Transaction=  oracleConnection.BeginTransaction();
    //oracleCommand.ExecuteNonQuery();
    //oracleCommand.Transaction.Commit();

    DataSet dataSet = new DataSet();

    OracleDataAdapter oracleDataAdapter = new OracleDataAdapter("SELECT * FROM TEST2", oracleConnection);
    oracleDataAdapter.SelectCommand.Transaction = oracleConnection.BeginTransaction();  
    OracleCommandBuilder oralceCommandBuilder = new OracleCommandBuilder(oracleDataAdapter);
    oracleDataAdapter.Fill(dataSet);

    DataRow newDataRow = dataSet.Tables[0].NewRow();
    newDataRow["name"] = TextBox1.Text.Trim();

    dataSet.Tables[0].Rows.Add(newDataRow);
    oracleDataAdapter.Update(dataSet);
    oracleDataAdapter.SelectCommand.Transaction.Commit();

}
finally
{
    oracleConnection.Close();
}

 


Dim oConn As New ADODB.Connection
Dim oRs As New ADODB.Recordset

oConn.ConnectionTimeout = 0
oConn.Open "Provider=MSDAORA.1;Password=manager;User ID=system;Data Source=lys;Persist Security Info=True"
oConn.CommandTimeout = 0

oRs.CursorLocation = adUseClient
oRs.Open "SELECT * FROM TEST2", oConn, adOpenKeyset, adLockPessimistic
oRs.AddNew
oRs("NAME") = Trim(Text1.Text)
oRs.Update

oRs.Close
oConn.Close
Set oRs = Nothing
Set oConn = Nothing


'带事务
Dim oConn As New ADODB.Connection
Dim oRs As New ADODB.Recordset

oConn.ConnectionTimeout = 0
oConn.Open "Provider=MSDAORA.1;Password=manager;User ID=system;Data Source=lys;Persist Security Info=True"
oConn.CommandTimeout = 0
oConn.BeginTrans

On Error GoTo ErrorHandler
oRs.CursorLocation = adUseClient
oRs.Open "SELECT * FROM TEST2", oConn, adOpenKeyset, adLockPessimistic
oRs.AddNew
oRs("NAME") = Trim(Text1.Text)
oRs.Update
oConn.CommitTrans

oRs.Close
oConn.Close
Set oRs = Nothing
Set oConn = Nothing
Exit Sub

ErrorHandler:
oConn.RollbackTrans
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值