コード例 #1
0
        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);
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
ファイル: OP_DBClient.cs プロジェクト: yendux/BlueCloudHIS1.2
        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);
        }