2010-07-26 3 views
2

У меня есть набор данных (из файла XML), я хочу прочитать схему и значения из этого набора данных и скопировать их в таблицу доступа.Копировать из набора данных в таблицу доступа в C#?

Я хочу создать базу данных доступа на лету (можно использовать ADOX), создать таблицу доступа (из ADOX), создать схему в этой таблице и скопировать значения из набора данных в эту таблицу.

Я получаю сообщение об ошибке, когда я пытаюсь создать таблицу и добавить столбцы в нем Ниже приведен фрагмент кода, который дает мне ошибку

 DataSet ds = new DataSet(); 
     Console.Write("The NAME IS" + FileName.Text.ToString()); 
     ds.ReadXml("FILE_PATH" + FileName.Text.ToString()); 


     ADOX.Catalog cat = new Catalog(); 
     cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='DATABASE_NAME';Jet OLEDB:Engine Type=5"); 

     Table tab = new Table(); 
     tab.Columns.Append("Column Name", DataTypeEnum.adVarChar, 50); 

// Я вставив больше 32 столбцов в этом способ

 cat.Tables.Append(tab); 

Когда я запускаю этот блок кода, я получаю COM-исключение: «Недопустимый идентификатор таблицы».

Я пытаюсь сделать это с правильным подходом? Как скопировать значения из набора данных в эту таблицу?

+0

Не могли бы вы более конкретно указать свое исключение, например, что такое полный текст Исключения и Stack Trace, а какая строка точно выбрасывает исключение? Благодарю. –

+0

Где вы назначили имя для таблицы? Это ошибка, которую вы обычно получаете, когда вы не назначили имя. – Fionnuala

+0

Спасибо, я могу избавиться от этой ошибки. добавив имя в таблицу, а также свойство parentcatalog для таблиц должно быть связано с объектом каталога. Thanks -Sid – Sid

ответ

0

Не могли бы вы попытаться присвоить имя таблице?

tab.TableName = "MyName"; 
Смежные вопросы