private void SetFieldNamesByProvider(String TableName, String ProviderName, ListView aListView) { if (ProviderName == null || ProviderName.Trim() == "") return; InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; String OWNER = String.Empty, SS = TableName; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, TableName); aListView.Items.Clear(); InfoDataSet aDataSet = new InfoDataSet(); try { aDataSet.SetWizardDesignMode(true); aDataSet.RemoteName = ProviderName; aDataSet.AlwaysClose = true; aDataSet.Active = true; DataTable Table = aDataSet.RealDataSet.Tables[0]; foreach (DataColumn Column in Table.Columns) { ListViewItem aItem = new ListViewItem(Column.ColumnName); DataRow[] DRS = dsColdef.Tables[0].Select("FIELD_NAME='" + Column.ColumnName + "'"); TBlockFieldItem aFieldItem = new TBlockFieldItem(); if (DRS.Length > 0) { aItem.SubItems.Add(DRS[0]["CAPTION"].ToString()); aFieldItem.Description = DRS[0]["CAPTION"].ToString(); aFieldItem.QueryMode = DRS[0]["QUERYMODE"].ToString(); if (DRS[0]["IS_KEY"] != null && DRS[0]["IS_KEY"].ToString() == "Y") aFieldItem.IsKey = true; } else { aItem.SubItems.Add(""); aFieldItem.Description = ""; } aListView.Items.Add(aItem); aFieldItem.DataField = Column.ColumnName; aFieldItem.DataType = Column.DataType; if (DRS.Length > 0 && DRS[0]["CAPTION"] != null) aItem.Tag = aFieldItem; } } finally { aDataSet.Dispose(); } }
private void SetFieldNamesByProvider(String TableName, String ProviderName, ListView aListView) { if (ProviderName == null || ProviderName.Trim() == "") return; InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; TableName = WzdUtils.RemoveQuote(TableName, FClientData.DatabaseType); aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME = '" + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, TableName); aListView.Items.Clear(); InfoDataSet aDataSet = new InfoDataSet(); try { aDataSet.SetWizardDesignMode(true); aDataSet.RemoteName = ProviderName; aDataSet.AlwaysClose = true; aDataSet.Active = true; DataTable Table = aDataSet.RealDataSet.Tables[0]; foreach (DataColumn Column in Table.Columns) { ListViewItem aItem = new ListViewItem(Column.ColumnName); DataRow[] DRS = dsColdef.Tables[0].Select("FIELD_NAME='" + Column.ColumnName + "'"); if (DRS.Length == 1) aItem.SubItems.Add(DRS[0]["CAPTION"].ToString()); else aItem.SubItems.Add(""); aListView.Items.Add(aItem); TBlockFieldItem aFieldItem = new TBlockFieldItem(); aFieldItem.DataField = Column.ColumnName; aItem.Tag = aFieldItem; } } finally { aDataSet.Dispose(); } }