1、DataGrid 用代码方式增加一列范例:
bool isAdded = _mapDataGrid3.DataGrid.Columns.Contains(a => a.Header.ToString() == "医保钱包支付金额");
DataGridColumn col = _mapDataGrid3.DataGrid.Columns.Where(a => a.Header.ToString() == "退费结算标志").FirstOrDefault();
if (col != null && !isAdded)
{
int index = _mapDataGrid3.DataGrid.Columns.IndexOf(col);
DataGridTextColumn item = new DataGridTextColumn();
item.Header = "医保钱包支付金额";
item.Binding = new Binding("byje15");
item.Width = 110;
_mapDataGrid3.DataGrid.Columns.Insert(index, item);
}
//StringBuilder sb = new StringBuilder();
//foreach (var item in _mapDataGrid3.DataGrid.Columns)
//{
// sb.Append($"{item.Header.ToString()}, ");
//}
//MessageHelper.ShowDialog(sb.ToString(), "检查DataGrid3列头");
2、ORACLE 数据表插入记录后返回(自增长)主键的值范例:
(1)C# 代码:
private class NUMBER_Type
{
public int ORDERREQUESTID { get; set; }
}
public int CreateConsulationRelatedOrderRequest(DtoConsultation dto, int clinicItemId)
{
int ret = -1;
using (DbConnection cn = DapperHelper.CrateConnection(Dbs.IP))
{
OracleDynamicParameters param = new OracleDynamicParameters();
param.Add("v_EnconterID", dto.EncounterId);
param.Add("v_OrganizationID", dto.RequestOrganizationId);
param.Add("v_AuthorID", dto.RequestEmployeeId);
param.Add("v_ClinicItemId", clinicItemId);
param.Add("CV_1", OracleDbType.RefCursor, ParameterDirection.Output);
var result = DapperHelper.ExecuteSP<NUMBER_Type>(cn, "POOR.CreateConsulationRelatedOrderRequest", param);
if (result.Count > 0)
{
ret = result.First().ORDERREQUESTID;
}
}
return ret;
}
(2)数据库存储过程:
CREATE OR REPLACE PROCEDURE POOR.CreateConsulationRelatedOrderRequest(v_EnconterID NUMBER, v_OrganizationID NUMBER, v_AuthorID NUMBER, v_ClinicItemId NUMBER, CV_1 OUT SYS_REFCURSOR)
AS
v_Id NUMBER(10, 0);
v_PersonID NUMBER;
v_MaxOrdinal NUMBER;
/* =========================================================================================
20XX-XX-XX CREATED
========================================================================================= */
BEGIN
SELECT nvl(a.personid, -1) into v_PersonID from prpa.encounter a where a.encounterid=v_EnconterID;
SELECT nvl(MAX(a.ordinal),1) into v_MaxOrdinal from poor.orderrequest a where a.isdeleted=0 and a.periodkind=1 and a.orderkindcodeid=4 and a.encounterid=v_EnconterID;
INSERT INTO POOR.ORDERREQUEST (PERIODKIND, ORDERKINDCODEID, ORDERSUBKINDCODEID, ORDERCHILDKINDCODEID, ORDINAL, PARENTID, PERSONID, ENCOUNTERID, AUTHORID, LATESTMODIFIERID, OWNERORGANIZATIONID, PLACERGROUPID, STARTDATE, ENDDATE, CONSUMABLECODEID, CONSUMABLEID, ROUTEID, METHODID, FREQUENCYID, REASON, NOTE, ASREQUIRED, ASREQUIREDCONDITION, EXECTIMESERIES, FIRSTDAYEXECTIMESERIES, LASTDAYEXECTIMESERIES, NEXTCOLLATEDATE, REPEATNUMBER, DOSE, ADMINDOSE, ISEMERGENCY, STATUSCODEID, ORDERVERSION, ISDELETED, CAREACTIVITYID, COLLATEDATE, ISSUPPLEMENT, SOURCEORDERREQUESTID, CREATEKINDCODEID, TREATINGTEAMID, NURSETEAMID, PLANSTOPDATE, DAYS, AMOUNT, WARNFLAG, REQUESTPERFORMTIME, ROWVERSION, INPUTDATETIME, NUMBERVERSION, PLANLASTSTOPEXECTIMESERIES, PAYMENTRATIO, LEFTRIGHTPOSITIONCODEID, RELATIONSHIPID, ATTACHTAGCODEID, HASPRINTEDPOS, ALLOWCANCELCODE, LATESTCOLLATEDON, LATESTCOLLATEDBY, CALCFREQCODEID, TYPECODEID, ISNURSING, SUBSTANCENAME, ORDERTEXT, DUBSIGNDOSAGENOTE, RECEIVINGINFOID)
VALUES(1, 4, 0, 2, v_MaxOrdinal+1, -1, v_PersonID, v_EnconterID, v_AuthorID, v_AuthorID, v_OrganizationID, -1, sysdate, sysdate, 7, v_ClinicItemId, -1, -1, -1, null, null, 0, null, '08:00', '08:00', null, trunc(sysdate), 1, 1.0, 1.0, 0, 0, 0, 0, -1, trunc(sysdate), 0, -1, 0, null, null, null, 1, 0.0, null, null, sysdate, sysdate, 1, null, null, -1, null, null, null, null, null, null, null, null, 0, null, null, null, null) RETURNING ORDERREQUESTID INTO v_Id;
OPEN CV_1 FOR
SELECT v_Id AS ORDERREQUESTID FROM dual;
EXCEPTION
WHEN others THEN
dbms_output.put_line('SQL CODE:'||sqlcode||chr(10)||
sqlerrm||chr(10)||
dbms_utility.format_error_backtrace());
rollback;
end;
3、ORACLE 数据表是否存在记录及伪列ROWNUM的使用范例:
PS:一定要排序完才使用ROWNUM查询条件才能确保返回正确结果
declare
v_cnt NUMBER;
v_isReleased NUMBER(1, 0);
begin
v_isReleased := 0;
SELECT COUNT(1) INTO v_cnt from DATA.MEDICALRECORDRELEASELOG where ENCOUNTERID=1338521 and ISDELETED=0;
IF v_cnt > 0 THEN
select a.ISRELEASED into v_isReleased from (select * from DATA.MEDICALRECORDRELEASELOG i
where ENCOUNTERID=1337801 and ISDELETED=0 ORDER BY OPERATEDON DESC) a where ROWNUM=1;
END IF;
DBMS_OUTPUT.PUT_LINE('OUT_RETURN = "' || to_char(v_isReleased) || '"');
end;
浙公网安备 33010602011771号