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的资料
sb.Append(" VALUES('" + NoticeID + "','" + Class + "','" + Title + "',
'" + Content+ "','" + Status + "','" + CreateBy + "', sysdate);");
sb.Append(" commit;");
string strSQL = sb.ToString();
return DBHelp.ExecuteNonQuery(strSQL);
sb.Append(" 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();
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>
如果C#不用commit.那.net也不用.看一下表结构,先把SQL拷到pl/SQL中运行看看!
在winform中,我没用到commit也能把数据插入到数据库中去的啊
我在PL/SQL中不管做Update还是Insert动作,都必须手动Commit才能提交到服务器上。