Chr☆s Kwok 的技术笔记

.NET, C#, WPF, WCF, WF, .NetCore & LINQ ... I know how it works because I know why it works ...

博客园 首页 新随笔 订阅 管理

DapperHelper.ExecuteSQL方法执行语句块写法:
PS:BEGIN和END里面的语句需要分号(;)结尾

        [TestMethod]
        public void SaveEncounterParticipationTest()
        {
            StringBuilder sb = new StringBuilder();
            IList<OracleParameter> paras = new List<OracleParameter>();
            using (var cn = DapperHelper.CrateConnection(Dbs.IP))
            {
                sb.AppendLine("BEGIN");
                sb.AppendLine("update PRPA.ENCOUNTERPARTICIPATION set ISLAST = 0 where ISLAST != 0 and ENCOUNTERID = :p1 and ROLECODEID = :p2 and ENTITYID = :p3;");
                sb.AppendLine("insert into PRPA.ENCOUNTERPARTICIPATION(ENCOUNTEREVENTID, ENCOUNTERID, ROLECODEID, ENTITYID, ORGANIZATIONID, STATUSFLAG, STARTTIME, ISLAST) values(0, :p1, :p2, :p3, -1, 0, :p4, 1); ");
                paras.Add(new OracleParameter($"@p1", OracleDbType.Int32, 19902, ParameterDirection.Input));
                paras.Add(new OracleParameter($"@p2", OracleDbType.Int32, 62, ParameterDirection.Input));
                paras.Add(new OracleParameter($"@p3", OracleDbType.Int32, 3378, ParameterDirection.Input));
                paras.Add(new OracleParameter($"@p4", OracleDbType.Date, DateTime.Now, ParameterDirection.Input));
                sb.Append("END;");
                int ret = DapperHelper.ExecuteSql(cn, sb.ToString(), paras.ToArray());
                Assert.AreEqual<int>(-1, ret);
            }
        }

 

posted on 2025-08-07 11:02  Chr☆s  阅读(9)  评论(0)    收藏  举报