public DataTable getOutParamter(Reportdat re, List <Paramater> list) { HIS.SYSTEM.DatabaseAccessLayer.ParameterEx[] parameters = new HIS.SYSTEM.DatabaseAccessLayer.ParameterEx[list.Count]; for (int index = 0; index < list.Count; index++) { parameters[index].Text = list[index].PARAMETER; if (list[index].PARAMETER_TYPE == "OUT") { parameters[index].ParaSize = Convert.ToInt32(list[index].DATALENGTH.ToString()); parameters[index].ParaDirection = ParameterDirection.Output; } else { if (list[index].PARAMDATATYPE == 1) { parameters[index].Value = Convert.ToInt32(list[index].objvalue); } else { parameters[index].Value = list[index].objvalue.ToString(); } parameters[index].ParaDirection = ParameterDirection.Input; } } DataTable result; result = oleDb.GetDataTable(re.PROCEDURES, parameters); return(result); }
public DataTable getProcedurePara(List <Paramater> paralit, string procedure) { if (procedure != "") { HIS.SYSTEM.DatabaseAccessLayer.ParameterEx[] parameters = new HIS.SYSTEM.DatabaseAccessLayer.ParameterEx[paralit.Count]; for (int index = 0; index < paralit.Count; index++) { parameters[index].Text = paralit[index].PARAMETER; if (paralit[index].PARAMDATATYPE == 0) { parameters[index].Value = (int)paralit[index].objvalue; } } return(oleDb.GetDataTable(procedure, parameters)); } else { return(null); } }
public static DataSet OutData(string sqlstr) { string[] strArray = OutSql(sqlstr); int length = strArray.Length; try { ds = new DataSet(); for (int i = 0; i < length; i++) { Runing(strArray[i], length, i); if (!(strArray[i].Trim() != "")) { continue; } if ((strArray[i].Trim().Length > 2) && (strArray[i].Trim().Substring(0, 2) == "--")) { continue; } int index = strArray[i].Trim().IndexOf(" "); string str = strArray[i].Trim().Substring(0, index).Trim().ToUpper(); DataTable dataTable = new DataTable();; switch (str) { case "CALL": int num4 = strArray[i].Trim().IndexOf("("); string storeProcedureName = strArray[i].Trim().Substring(index, num4 - index).Trim(); int num5 = strArray[i].Trim().IndexOf(")"); string[] strArray2 = strArray[i].Trim().Substring(num4 + 1, (num5 - num4) - 1).Split(new char[] { ',' }); HIS.SYSTEM.DatabaseAccessLayer.ParameterEx[] parameters = new HIS.SYSTEM.DatabaseAccessLayer.ParameterEx[strArray2.Length]; for (int j = 0; j < parameters.Length; j++) { if (strArray2[j].Trim() == "?") { parameters[j].Value = null; parameters[j].ParaDirection = ParameterDirection.Output; parameters[j].ParaSize = 100; } else { parameters[j].Value = strArray2[j].Trim(); } } dataTable = oleDb.GetDataTable(storeProcedureName, parameters, 90); dataTable.TableName = "Procedure[" + i.ToString() + "]"; for (int j = 0; j < parameters.Length; j++) { if (parameters[j].ParaDirection != null && parameters[j].ParaDirection.Equals(ParameterDirection.Output)) { ErrStr += "\n" + dataTable.TableName + ":" + parameters[j].Value.ToString(); } } break; case "SELECT": dataTable = oleDb.GetDataTable(strArray[i]); dataTable.TableName = "SELECT[" + i.ToString() + "]"; break; case "UPDATE": oleDb.DoCommand(strArray[i]); dataTable.TableName = "UPDATE[" + i.ToString() + "]"; break; case "DELETE": oleDb.DoCommand(strArray[i]); dataTable.TableName = "DELETE[" + i.ToString() + "]"; break; case "INSERT": oleDb.DoCommand(strArray[i]); dataTable.TableName = "INSERT[" + i.ToString() + "]"; break; } ds.Tables.Add(dataTable); } } catch (Exception exception) { ErrStr = exception.Message; ErrBool = true; } return(ds); }