insert into ADM_BLT(NOTICEID,CLASS,SUBJECT,CONTENT,STATUS,CREATEBY,CREATEDATE)
 VALUES('28','公告','维护5','维护5','1','takako', sysdate);
 commit;
我的问题是这样的:
在.net中我调用上面的Oracle语句,再select发现服务器上并没有这笔的资料
而当我先insert into……,然后手动commit发现服务器中就有这样一笔资料我想问如何在.net中写这样的ORACLE语句,能够让它自己提交我insert的资料

解决方案 »

  1.   

    你.net里的调用过程怎么样的?估计是没执行commit
      

  2.   

    对啊,就是没commit.sb.Append(" insert into ADM_BLT(NOTICEID,CLASS,SUBJECT,CONTENT,STATUS,CREATEBY,CREATEDATE)");
            sb.Append(" VALUES('" + NoticeID + "','" + Class + "','" + Title + "',
    '" + Content+ "','" + Status + "','" + CreateBy + "', sysdate);");
            sb.Append(" commit;");
            string strSQL = sb.ToString();
            return DBHelp.ExecuteNonQuery(strSQL);
    sb.Append(" commit;");
    我想就这句没执行,请问如何写?
      

  3.   

    我用c#好像不用commit的,自动
    你看我写的语句OracleConnection con = new OracleConnection(Session["oracle_con"].ToString());
                con.Open();
                string update = "update  tb set so_user_pswd=md5('" + TextBox2.Text.Trim() + "') where SO_ID='" + Session["so_id"].ToString() + "' and SO_USER_PSWD=md5('" + TextBox1.Text.Trim() + "')";
                OracleCommand da = new OracleCommand(update, con);
                try
                {
                    int i = da.ExecuteNonQuery();
                    if(i>0)
                        Label1.Text = "密码修改成功";
                    else
                        Label1.Text = "密码修改不成功";
                }
                catch
                {
                    Label1.Text = "密码修改不成功";
                }
                da.Dispose();
                con.Close();
                con.Dispose();
      

  4.   

    还是使用存贮过程:
    SQL>  CREATE OR REPLACE procedure insert_ny(fd1 in varchar2,fd2 in varchar2,fd3 in varchar2,fd4 in varchar2,fd5 in varchar2,fd6 in varchar2,fd7 date) as
      2    begin
      3    insert into ADM_BLT(NOTICEID,CLASS,SUBJECT,CONTENT,STATUS,CREATEBY,CREATEDATE)
      4    VALUES(fd1,fd2,fd3,fd4,fd5,fd6,fd7);
      5    commit;    /--在这里提交
      6    end;
      7  /Procedure createdSQL> exec insert_ny('28','公告','维护5','维护5','1','takako', sysdate);PL/SQL procedure successfully completedSQL> select * from adm_blt;NOTICEID             CLASS                SUBJECT              CONTENT              STATUS               CREATEBY             CREATEDATE
    -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -----------
    8                    公告                 维护                 维护                 1                    takako               2008-10-20
    3                    公告                 维护                 维护                 1                    takako               2008-10-20
    3                    公告                 维护                 维护                 1                    takako               2008-10-20
    28                   公告                 维护5                维护5                1                    takako               2008-10-21SQL> 
      

  5.   


    如果C#不用commit.那.net也不用.看一下表结构,先把SQL拷到pl/SQL中运行看看!
      

  6.   

    同意3楼,我也是大的。
    在winform中,我没用到commit也能把数据插入到数据库中去的啊
      

  7.   

    .net里好像有commit,如果是多条就需要开启事务和提交事务,如果是一条就不用,会自动提交
      

  8.   

    请问如何开启自动提交。
    我在PL/SQL中不管做Update还是Insert动作,都必须手动Commit才能提交到服务器上。