Пример #1
0
        public void Write(ICdlRecord row)
        {
            if (_insertSeparatorAfterRows.HasValue && _rowsAfterSeparator > _insertSeparatorAfterRows.Value)
            {
                _stream.Write("GO\n");
                _rowsAfterSeparator = 0;
            }
            var fmt = _factory.CreateLiteralFormatter();

            _stream.Write("INSERT INTO [TABLE_NAME] (");
            _stream.Write(row.GetFieldNames().Select(x => "[" + x + "]").CreateDelimitedText(", "));
            _stream.Write(") VALUES (");
            for (int i = 0; i < row.FieldCount; i++)
            {
                if (i > 0)
                {
                    _stream.Write(", ");
                }
                row.ReadValue(i);
                fmt.ReadFrom(row);
                _stream.Write(fmt.GetText());
            }
            _stream.Write(");\n");
            _rowsAfterSeparator++;
        }
Пример #2
0
        public void Write(ICdlRecord row)
        {
            WantTransaction();

            var sb = new StringBuilder();

            sb.AppendFormat("insert into {0} ({1}) values (", TABLE_NAME, ColumnsText);

            for (int i = 0; i < row.FieldCount; i++)
            {
                row.ReadValue(i);
                if (i > 0)
                {
                    sb.Append(",");
                }
                sb.Append((int)row.GetFieldType());
                sb.Append(",");
                string sqldata;
                StorageTool.GetValueAsSqlLiteral(row, out sqldata);
                sb.Append(sqldata);
            }
            sb.Append(")");

            using (var inscmd = _conn.CreateCommand())
            {
                inscmd.Transaction = _tran;
                inscmd.CommandText = sb.ToString().Replace("\0", "\\0");
                inscmd.ExecuteNonQuery();
                _rowCount++;
            }
        }
Пример #3
0
 private void WantField(int index)
 {
     if (index != m_curField)
     {
         m_curField = index;
         m_record.ReadValue(m_curField);
     }
 }
Пример #4
0
 public void ReadValue(int i)
 {
     m_curField = i;
     if (m_original != null)
     {
         m_original.ReadValue(i);
     }
 }
Пример #5
0
 public static object SafeGetValue(this ICdlRecord record, int ordinal)
 {
     if (ordinal < 0)
     {
         return(null);
     }
     record.ReadValue(ordinal);
     return(record.GetValue());
 }
Пример #6
0
 public void Write(ICdlRecord row)
 {
     var dataRow = new object[row.FieldCount];
     _rows.Add(dataRow);
     for (int i = 0; i < row.FieldCount; i++)
     {
         row.ReadValue(i);
         _formatter.ReadFrom(row);
         dataRow[i] = _formatter.GetText();
     }
 }
Пример #7
0
 public void Write(ICdlRecord row)
 {
     _orec.Clear();
     for (int i = 0; i < row.FieldCount; i++)
     {
         row.ReadValue(i);
         _formatter.ReadFrom(row);
         _orec[i] = _formatter.GetText();
     }
     _dbf.Write(_orec);
 }
Пример #8
0
        public void Write(ICdlRecord row)
        {
            var dataRow = new object[row.FieldCount];

            _rows.Add(dataRow);
            for (int i = 0; i < row.FieldCount; i++)
            {
                row.ReadValue(i);
                _formatter.ReadFrom(row);
                dataRow[i] = _formatter.GetText();
            }
        }
Пример #9
0
        public static void SaveRecord(int fldcount, ICdlRecord record, BinaryWriter stream)
        {
            var fw = new StreamValueWriter(stream);

            if (fldcount != record.FieldCount)
            {
                throw new InternalError("DBSH-00034 field count mitchmatch");
            }
            for (int i = 0; i < fldcount; i++)
            {
                record.ReadValue(i);
                fw.ReadFrom(record);
            }
        }
Пример #10
0
 void ICdlWriter.Write(ICdlRecord row)
 {
     if (_dataRecord == null)
     {
         _dataRecord = new string[row.FieldCount];
     }
     for (int i = 0; i < _dataRecord.Length; i++)
     {
         row.ReadValue(i);
         _formatter.ReadFrom(row);
         _dataRecord[i] = _formatter.GetText();
     }
     WriteRow(_dataRecord);
 }
Пример #11
0
        public ICdlRecord AdaptRecord(ICdlRecord record)
        {
            var res = new ArrayDataRecord(record.Structure);
            for (int i = 0; i < Math.Min(res.FieldCount, record.FieldCount); i++)
            {
                var targetColumn = _columnMap.GetTargetColumnBySourceIndex(i);
                if (targetColumn == null) continue;

                record.ReadValue(i);
                res.SeekValue(i);

                _dda.AdaptValue(record, targetColumn.CommonType, res, _outputConv);
            }
            return res;
        }
Пример #12
0
 public void Write(ICdlRecord row)
 {
     var fmt = _factory.CreateLiteralFormatter();
     _stream.Write("INSERT INTO [TABLE_NAME] (");
     _stream.Write(row.GetFieldNames().Select(x => "[" + x + "]").CreateDelimitedText(", "));
     _stream.Write(") VALUES (");
     for (int i = 0; i < row.FieldCount; i++)
     {
         if (i > 0) _stream.Write(", ");
         row.ReadValue(i);
         fmt.ReadFrom(row);
         _stream.Write(fmt.GetText());
     }
     _stream.Write(");\n");
 }
Пример #13
0
        public ICdlRecord AdaptRecord(ICdlRecord record)
        {
            var res = new ArrayDataRecord(record.Structure);

            for (int i = 0; i < Math.Min(res.FieldCount, record.FieldCount); i++)
            {
                var targetColumn = _columnMap.GetTargetColumnBySourceIndex(i);
                if (targetColumn == null)
                {
                    continue;
                }

                record.ReadValue(i);
                res.SeekValue(i);

                _dda.AdaptValue(record, targetColumn.CommonType, res, _outputConv);
            }
            return(res);
        }
Пример #14
0
        public void Write(ICdlRecord row)
        {
            _writer.WriteStartElement(_rowElementName ?? "Row");
            for (int i = 0; i < row.FieldCount; i++)
            {
                string name = row.GetName(i);
                row.ReadValue(i);
                _formatter.ReadFrom(row);
                string value = _formatter.GetText();

                if (_useAttributes)
                {
                    _writer.WriteAttributeString(name, value);
                }
                else
                {
                    _writer.WriteStartElement(name);
                    _writer.WriteString(value);
                    _writer.WriteEndElement();
                }
            }
            _writer.WriteEndElement();
        }
Пример #15
0
 void IColumnMapping.ProcessMapping(int column, int rowNumber, ICdlRecord record, ICdlValueWriter writer, IShellContext context)
 {
     record.ReadValue(record.GetOrdinal(Name));
     record.WriteTo(writer);
 }
Пример #16
0
 public static void SaveRecord(int fldcount, ICdlRecord record, BinaryWriter stream)
 {
     var fw = new StreamValueWriter(stream);
     if (fldcount != record.FieldCount) throw new InternalError("DBSH-00034 field count mitchmatch");
     for (int i = 0; i < fldcount; i++)
     {
         record.ReadValue(i);
         fw.ReadFrom(record);
     }
 }
Пример #17
0
 public static object GetValue(this ICdlRecord record, int ordinal)
 {
     record.ReadValue(ordinal);
     return(record.GetValue());
 }
Пример #18
0
 void ICdlWriter.Write(ICdlRecord row)
 {
     if (_dataRecord == null)
     {
         _dataRecord = new string[row.FieldCount];
     }
     for (int i = 0; i < _dataRecord.Length; i++)
     {
         row.ReadValue(i);
         _formatter.ReadFrom(row);
         _dataRecord[i] = _formatter.GetText();
     }
     WriteRow(_dataRecord);
 }
Пример #19
0
 public void ReadValue(int i)
 {
     RefObject.ReadValue(i);
 }
Пример #20
0
        public void Write(ICdlRecord row)
        {
            WantTransaction();

            var sb = new StringBuilder();
            sb.AppendFormat("insert into {0} ({1}) values (", TABLE_NAME, ColumnsText);

            for (int i = 0; i < row.FieldCount; i++)
            {
                row.ReadValue(i);
                if (i > 0) sb.Append(",");
                sb.Append((int)row.GetFieldType());
                sb.Append(",");
                string sqldata;
                StorageTool.GetValueAsSqlLiteral(row, out sqldata);
                sb.Append(sqldata);
            }
            sb.Append(")");

            using (var inscmd = _conn.CreateCommand())
            {
                inscmd.Transaction = _tran;
                inscmd.CommandText = sb.ToString().Replace("\0", "\\0");
                inscmd.ExecuteNonQuery();
                _rowCount++;
            }
        }
Пример #21
0
 void IColumnMapping.ProcessMapping(int column, int rowNumber, ICdlRecord record, ICdlValueWriter writer, IShellContext context)
 {
     record.ReadValue(record.GetOrdinal(Name));
     record.WriteTo(writer);
 }
Пример #22
0
 public void Write(ICdlRecord row)
 {
     _stream.Write("<tr>");
     for (int i = 0; i < row.FieldCount; i++)
     {
         row.ReadValue(i);
         _formatter.ReadFrom(row);
         string value = _formatter.GetText();
         _stream.WriteLine("<td>{0}</td>", HttpUtility.HtmlEncode(value));
     }
     _stream.Write("</tr>");
 }