#1 04.12.07 20:58
Проблемы с DBF форматом.... C# VS2005
У меня проблема. Больше 15 столбцов не дает создавать в DBF. Подскажите пжта, я не понимаю почему так?
вот код:
string szCmd_CreateTable = "CREATE TABLE tab1.dbf (ID char(254),ID_PARENT char(254),NAME char(254), CODE char(254), CLASS char(254)";
foreach (ParametrClass p in _PROFILE.listParamDOCs)
{
szCmd_CreateTable = szCmd_CreateTable + ",";//ТУТ ТУПОСОЗДАЕМ ВСЕ ПОЛЯ,
szCmd_CreateTable = szCmd_CreateTable + p.GetK_NAME().Replace(" ", "_") + " char(254)";
}
szCmd_CreateTable = szCmd_CreateTable + ");";//ЗАКРЫВАЕМ запрос
OleDbConnection con;
con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\;Extended Properties=dBASE IV;User ID=Admin;Password=");//СОЕДИНЯЕМСЯ
con.Open();
//Создаём таблицу
OleDbCommand create = con.CreateCommand();
create.CommandText = szCmd_CreateTable;
try
{
create.ExecuteNonQuery();//ВЫПОЛНЯЕМ КОМАНДУ
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
после выполнения команды выскакиевает ошибка "ПОЛЕ НЕ ВХОДИТ В ЗАПИСЬ".
Если 15 полей то все работает. На самом деле у меня их мб несколько десятков а то и сотен.
Offline
#4 05.12.07 23:51
Re: Проблемы с DBF форматом.... C# VS2005
вообщето тут нормализация не поможет никак. Она тут не нужна.
Задача:
Выгрузить данные в dbf формат об объекте. Параметры, выгружаемые определяет сам пользователь.
Например там ID, NAME.CODE,..... и тд. выгружаются данные металлоконструкций.
Далее это будет использоваться для загрузки в 1С. Программист из 1С говорит, что 15 полей это не предел. Ну и не может понять почему так.
Для SQL SERVER 2005 я выполняю предыдущий код, и на 50 полей создает все номально.
Так что помогите плиз.............
Исправлено RusRusRus (05.12.07 23:54)
Offline

