Простейшим решением было бы иметь другой класс, производный от вашего базового класса, добавив к нему свойство B
и связанные с ним функциональные возможности, и иметь все классы, которые разделяют это свойство и функциональные возможности, полученные из этого класса, а не непосредственно из базового учебный класс.
Примерно так:
abstract class BaseClassB : BaseClass
{
public object B {get;set;}
protected override void SomeMethod()
{
base.SomeMethod();
if (B != null)
{
//Do thing with B
//
}
}
}
можно также сделать это с OpenRowset
INSERT INTO SOMETABLE SELECT * FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls','SELECT * FROM [Sheet1$]')
Мастера "Служб преобразования данных" являются Вашим другом.
Инструкции здесь принимают SQL Server 2000
В зависимости от того, что Вы хотите сделать с данными, у Вас есть несколько новых опций. Для одноразовых заданий я обычно нахожу самым легким импортировать все данные Excel, затем отредактировать его в SQL Server, но если Вы собираетесь повторить это действие с несколькими файлами, Вы могли бы хотеть создать действительно сексуальный сценарий импорта.
Если Вы собираетесь выполнить его снова, можно сохранить пакет DTS с помощью мастера, то отредактировать его в разделе "Data Transformation Services" Руководителя предприятия. Это - хороший способ изучить, как DTS работает.
Альтернативное быстрое и (очень) грязное решение состоит в том, чтобы добавить формулу к листу Excel, как это:
="INSERT INTO table1(col1, col2, col3) SELECT " & A1 & ", '" & B1 & "', '" & C1 & "'"
Копируйте этот (CTRL+D), и Вы хороши для движения.