Example #1
0
    protected override IDictionary<String, JSFieldType> open(IDbConnection conn, CXLReportDSConfig dsCfg, Int32 timeout) {


      IDictionary<String, JSFieldType> rslt = null;

      this.FCmd = new SQLCursor(conn);
      String vSQL = dsCfg.sql;
      this.FCmd.Init(vSQL, dsCfg.owner.inPrms);
      try {
        if (dsCfg.owner.debug)
          Utl.SaveStringToFile(dsCfg.owner.logPath + dsCfg.owner.extAttrs.shortCode + ".prdDS." + dsCfg.rangeName + ".sql", vSQL, null);
        this.FCmd.Open(timeout);
        //if (this.FDataReader.Next()) {
          rslt = new Dictionary<String, JSFieldType>();
          for (int i = 0; i < this.FCmd.FieldsCount; i++) {
            rslt.Add(this.FCmd.Fields[i].FieldName,
                     this.FCmd.Fields[i].DataType);
          }
        //}
          return rslt;
      } catch (ThreadAbortException) {
        throw;
      } catch (Exception ex) {
        throw EBioException.CreateIfNotEBio(ex);
      }
    }
Example #2
0
 /// <summary>
 /// Коструктор
 /// </summary>
 /// <param name="owner"></param>
 /// <param name="id"></param>
 /// <param name="name"></param>
 /// <param name="type"></param>
 /// <param name="header"></param>
 /// <param name="pkIndex"></param>
 /// <param name="fieldEncoding">Кодировка для CLOB полей</param>
 public Field(SQLCursor owner, Int32 id, String name, Type type, String header, String pkIndex, FieldEncoding fieldEncoding = FieldEncoding.UTF8) {
   this.FieldID = id;
   this._owner = owner;
   this.FieldName = name.ToUpper();
   this.DataType = ftypeHelper.ConvertTypeToFType(type);
   this.Encoding = fieldEncoding;
   this.FieldCaption = header;
   this.FieldPkIndex = pkIndex;
 }
Example #3
0
 /// <summary>
 /// Создает и открывает курсор
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="sql"></param>
 /// <param name="prms"></param>
 /// <param name="timeout"></param>
 /// <returns></returns>
 /// <exception cref="EBioException"></exception>
 public static SQLCursor CreateAndOpenCursor(IDbConnection conn, String sql, Params prms, Int32 timeout) {
   SQLCursor v_rslt;
   try {
     v_rslt = new SQLCursor(conn);
     v_rslt.Init(sql, prms);
     v_rslt.Open(timeout);
   } catch (ThreadAbortException) {
     throw;
   } catch (Exception ex) {
     throw new EBioException(ex.Message, ex);
   }
   return v_rslt;
 }