Здравствуйте, McFozzy, Вы писали:
MF>Здравствуйте, horry, Вы писали:
H>>Здравствуйте, McFozzy, Вы писали:
MF>>>есть ли способ создать временную таблицу иными путями без большого количества строк?
H>>Как минимум, два:
H>>1. Создать схему данных (XMLSchema) и загрузить структуру из нее.
H>>2. Создать массив с названиями столбцов и сделать Add в цикле. Т.к. все они, кроме ID, строковые, то даже тип хранить не придется (ID отдельно сделать — и все).
MF>вот вот, мне первый метод больше нравится — потому что он более универсален...
MF>а как это зделать? может можно код?
Код на C# — с бейсиком не работаю, но отличия должны быть только в точках с запятыми — код типовой.
Вначале 1 раз ручками генерим таблицу и записываем ее в файл схемы:
DataTable table = new DataTable();
table.Columns.Add("ID", System.Type.GetType("System.Int32"));
table.Columns.Add("Name", System.Type.GetType("System.String"));
table.Columns.Add("Phone", System.Type.GetType("System.String"));
table.Columns.Add("Fax", System.Type.GetType("System.String"));
table.Columns.Add("email", System.Type.GetType("System.String"));
DataSet ds = new DataSet();
ds.Tables.Add(table);
ds.WriteXmlSchema("myfile.xsd");
В итоге должно получиться:
Затем этот код можно смело удалять, а загрузку структуры делать следующим образом:
DataSet ds = new DataSet();
ds.ReadXmlSchema("myfile.xsd");
DataTable table = ds.Tables[0];
Обращаю внимание на тот факт, что при запуске будет исключение, если не создать ни одной строки:
DataRow r = table.NewRow();
r["ID"] = 1;
r["Name"] = "qqq";
r["Phone"] = "www";
r["Fax"] = "eee";
r["email"] = "ggg";
table.Rows.Add(r);
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".