private void PopulateColumns() { if (this._cols == null) { this._cols = new RainstormStudios.Data.ColumnParamsCollection(); } else { this._cols.Clear(); } if (string.IsNullOrEmpty(this.pan02cboFlatSrcColDelim.Text) || string.IsNullOrEmpty(this.pan02cboFlatSrcRowDelim.Text) || !File.Exists(this.pan02txtFlatSrcFileName.Text)) { return; } string[] pcs = null; switch (this.pan02drpFlatSrcFormat.SelectedIndex) { case 0: // Delimited string cDelim = string.Empty, rDelim = string.Empty; switch (this.pan02cboFlatSrcColDelim.Text) { case "{CR}{LF}": cDelim = "\r\n"; break; case "{CR}": cDelim = "\r"; break; case "{LF}": cDelim = "\n"; break; case "Semicolon {;}": cDelim = "\n"; break; case "Colon {:}": cDelim = ":"; break; case "Comma {,}": cDelim = ","; break; case "Tab {t}": cDelim = "\t"; break; case "Vertical Bar {|}": cDelim = "|"; break; default: cDelim = this.pan02lblFlatSrcColDelim.Text; break; } switch (this.pan02cboFlatSrcRowDelim.Text) { case "{CR}{LF}": rDelim = "\r\n"; break; case "{CR}": rDelim = "\r"; break; case "{LF}": rDelim = "\n"; break; case "Semicolon {;}": rDelim = "\n"; break; case "Colon {:}": rDelim = ":"; break; case "Comma {,}": rDelim = ","; break; case "Tab {t}": rDelim = "\t"; break; case "Vertical Bar {|}": rDelim = "|"; break; default: rDelim = this.pan02lblFlatSrcColDelim.Text; break; } string sTxtQual = this.pan02txtFlatSrcTextQual.Text; if (sTxtQual.ToLower() == "<none>") { sTxtQual = string.Empty; } using (FileStream fs = new FileStream(this.pan02txtFlatSrcFileName.Text, FileMode.Open, FileAccess.Read)) using (RainstormStudios.IO.DelimitedTextReader rdr = new RainstormStudios.IO.DelimitedTextReader(fs, rDelim, cDelim, sTxtQual, Encoding.Default)) for (int i = 0; i < this.pan02numFlatSrc.Value + 1; i++) { pcs = rdr.ReadRow(); } break; case 1: // Fixed width break; case 2: // Ragged right break; } if (pcs == null) { return; } // If the first row doesn't contain the column names, then // just populate the array with generic "ColumnXXX" values. if (!this.pan02chkFlatSrcColNameFirstRow.Checked) { for (int i = 0; i < pcs.Length; i++) { pcs[i] = "Column" + i.ToString().PadLeft(pcs.Length.ToString().Length, '0'); } } // Create the entries in the ColumnParams collection. for (int i = 0; i < pcs.Length; i++) { this._cols.Add(new RainstormStudios.Data.ColumnParams(pcs[i], typeof(System.String), 0, i)); } this.pan02lstFlatSrcColPrev.BeginUpdate(); this.pan02lstFlatSrcColPrev.Items.Clear(); for (int c = 0; c < this._cols.Count; c++) { this.pan02lstFlatSrcColPrev.Items.Add(new ListViewItem(new string[] { this._cols[c].ColumnName, this._cols[c].DataType.ToString(), this._cols[c].FieldSize.ToString() })); } this.pan02lstFlatSrcColPrev.EndUpdate(); }
private void PopulatePreivew() { if (!File.Exists(this.pan02txtFlatSrcFileName.Text)) { return; } using (DataTable dt = new DataTable()) { foreach (RainstormStudios.Data.ColumnParams cPrms in this._cols) { dt.Columns.Add(new DataColumn(cPrms.ColumnName)); } string colDelim = ""; switch (this.pan02cboFlatSrcColDelim.Text) { case "{CR}{LF}": colDelim = "\r\n"; break; case "{CR}": colDelim = "\r"; break; case "{LF}": colDelim = "\n"; break; case "Semicolon {;}": colDelim = "\n"; break; case "Colon {:}": colDelim = ":"; break; case "Comma {,}": colDelim = ","; break; case "Tab {t}": colDelim = "\t"; break; case "Vertical Bar {|}": colDelim = "|"; break; default: colDelim = this.pan02lblFlatSrcColDelim.Text; break; } string rowDelim = ""; switch (this.pan02cboFlatSrcRowDelim.Text) { case "{CR}{LF}": rowDelim = "\r\n"; break; case "{CR}": rowDelim = "\r"; break; case "{LF}": rowDelim = "\n"; break; case "Semicolon {;}": rowDelim = "\n"; break; case "Colon {:}": rowDelim = ":"; break; case "Comma {,}": rowDelim = ","; break; case "Tab {t}": rowDelim = "\t"; break; case "Vertical Bar {|}": rowDelim = "|"; break; default: rowDelim = this.pan02lblFlatSrcRowDelim.Text; break; } using (RainstormStudios.IO.DelimitedTextReader dtRdr = new RainstormStudios.IO.DelimitedTextReader(this.pan02txtFlatSrcFileName.Text, rowDelim, colDelim, this.pan02txtFlatSrcTextQual.Text, Encoding.Default)) { int i = 0, stNum = (int)this.pan02panFlatSrcPreviewNumRowSkip.Value + ((this.pan02chkFlatSrcColNameFirstRow.Checked) ? 1 : 0); for (i = 0; i < 99 + stNum; i++) { DataRow dr = dt.NewRow(); dr.ItemArray = dtRdr.ReadRow(); if (i > stNum) { dt.Rows.Add(dr); } } this.pan02lblFlatSrcPrevRowNums.Text = string.Format("Preview Rows {0} - {1}", stNum, i); } this.pan02panFlatSrcPreviewDg.DataSource = dt; } }
private void PopulateColumns() { if (this._cols == null) { this._cols = new ColumnParamsCollection(); } else { this._cols.Clear(); } if (this.TargetDirection == DataTargetDirection.Source) { if (this.DataTargetType == DataTargetType.Flat_File) { if (string.IsNullOrEmpty(this.pan02cboFlatSrcColDelim.Text) || string.IsNullOrEmpty(this.pan02cboFlatSrcRowDelim.Text) || !File.Exists(this.pan02txtFlatSrcFileName.Text)) { return; } string[] pcs = null; switch (this.pan02drpFlatSrcFormat.SelectedIndex) { case 0: // Delimited string cDelim = string.Empty, rDelim = string.Empty; switch (this.pan02cboFlatSrcColDelim.Text) { case "{CR}{LF}": cDelim = "\r\n"; break; case "{CR}": cDelim = "\r"; break; case "{LF}": cDelim = "\n"; break; case "Semicolon {;}": cDelim = "\n"; break; case "Colon {:}": cDelim = ":"; break; case "Comma {,}": cDelim = ","; break; case "Tab {t}": cDelim = "\t"; break; case "Vertical Bar {|}": cDelim = "|"; break; default: cDelim = this.pan02lblFlatSrcColDelim.Text; break; } switch (this.pan02cboFlatSrcRowDelim.Text) { case "{CR}{LF}": rDelim = "\r\n"; break; case "{CR}": rDelim = "\r"; break; case "{LF}": rDelim = "\n"; break; case "Semicolon {;}": rDelim = "\n"; break; case "Colon {:}": rDelim = ":"; break; case "Comma {,}": rDelim = ","; break; case "Tab {t}": rDelim = "\t"; break; case "Vertical Bar {|}": rDelim = "|"; break; default: rDelim = this.pan02lblFlatSrcColDelim.Text; break; } string sTxtQual = this.pan02txtFlatSrcTextQual.Text; if (sTxtQual.ToLower() == "<none>") { sTxtQual = string.Empty; } using (FileStream fs = new FileStream(this.pan02txtFlatSrcFileName.Text, FileMode.Open, FileAccess.Read)) using (RainstormStudios.IO.DelimitedTextReader rdr = new RainstormStudios.IO.DelimitedTextReader(fs, rDelim, cDelim, sTxtQual, Encoding.Default)) for (int i = 0; i < this.pan02numFlatSrc.Value + 1; i++) { pcs = rdr.ReadRow(); } break; case 1: // Fixed width break; case 2: // Ragged right break; } // If the first row doesn't contain the column names, then // just populate the array with generic "ColumnXXX" values. if (!this.pan02chkFlatSrcColNameFirstRow.Checked) { for (int i = 0; i < pcs.Length; i++) { pcs[i] = "Column" + i.ToString().PadLeft(pcs.Length.ToString().Length, '0'); } } // Create the entries in the ColumnParams collection. for (int i = 0; i < pcs.Length; i++) { this._cols.Add(new RainstormStudios.Data.ColumnParams(pcs[i], typeof(System.String), 0, i)); } if (pcs == null) { return; } } else { string sqlQry = "SELECT TOP 1 * FROM " + this.pan02drpSqlDatabaseList.Text; using (rsDb db = rsDb.GetDbObject(AdoProviderType.Auto, this.GetConnectionString(), sqlQry)) { using (DataSet ds = db.GetData()) { if (ds.Tables.Count > 0) { foreach (DataColumn dc in ds.Tables[0].Columns) { this._cols.Add(new ColumnParams(dc.ColumnName, dc.DataType, dc.MaxLength, dc.Ordinal)); } } } } } } else { if (this.DataTargetType == DataTargetType.Flat_File && File.Exists(this.pan02txtFlatSrcFileName.Text)) { } else if (this.DataTargetType == DataTargetType.SQL_Native_Client) { } } // If we're working with a flat data type, then populate the columns in the wizard. if (this.DataTargetType == DataTargetType.Flat_File) { this.pan02lstFlatSrcColPrev.BeginUpdate(); this.pan02lstFlatSrcColPrev.Items.Clear(); for (int c = 0; c < this._cols.Count; c++) { this.pan02lstFlatSrcColPrev.Items.Add(new ListViewItem(new string[] { this._cols[c].ColumnName, this._cols[c].DataType.ToString(), this._cols[c].FieldSize.ToString() })); } this.pan02lstFlatSrcColPrev.EndUpdate(); } }