ADO создание и удаление таблиц в источнике данных

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
dimka18
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 03.01.2003 (Пт) 8:53
Откуда: Russia

ADO создание и удаление таблиц в источнике данных

Сообщение dimka18 » 13.12.2003 (Сб) 16:13

И снова прошу помощи у профессионалов.
Ситуация такая: существует база данных, прописанная в источниках данных как Personal.
Требуется удалить в базе единственную таблицу "Cотрудники", а вместо нее создать новую, с тем же именем, но по образу массива Array (i,j).
Все это нужно сделать с использованием ADO. Я в этом деле вообще полный ноль, а изучать ADO времени уже нет, вот и решил попросить Вас о помощи.
Помогите пожалуйста, подскажите хотя бы ключевые моменты как реализовать. Спасибо заранее!
1111

dimka18
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 03.01.2003 (Пт) 8:53
Откуда: Russia

Сообщение dimka18 » 14.12.2003 (Вс) 12:31

Ну ладно. Проблему с созданием, удалением и заполнением я решил. На маленькой базе все работает. Но на большой базе возникла следующая проблема.

sqlquery - строка, содержащая SQL запрос (команду)
cmd - объект command ADO, уже имеющий соединение с базой

когда команда SQL довольно длинная (например при создании таблицы с 10 полями ее длина примерно 260 символов), то при выполнении строки

cmd.CommandText = sqlquery

не происходит ничего страшного, а вот при выполнении

cmd.Execute

выскакивает ошибка о том, что слишком длинная строка запроса.
Может подскажите, а как тогда вообще выполнять длинные запросы и команды SQL, как эту ошибку обойти. А то мне во вторник сдавать уже программу, а тут вот такой вот камень приткновения. Уже по-разному пробывал, ничего не выходит.
Помогите!!!

P.s. с маленькими пробными базками все работает, поэтому ошибка видимо именно в длине передаваемой строки.
1111

TEH3OP
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 12.12.2003 (Пт) 20:19
Откуда: Москва

Сообщение TEH3OP » 14.12.2003 (Вс) 20:55

dimka18 писал(а):Ну ладно. Проблему с созданием, удалением и заполнением я решил. На маленькой базе все работает. Но на большой базе возникла следующая проблема.

sqlquery - строка, содержащая SQL запрос (команду)
cmd - объект command ADO, уже имеющий соединение с базой

когда команда SQL довольно длинная (например при создании таблицы с 10 полями ее длина примерно 260 символов), то при выполнении строки

cmd.CommandText = sqlquery

не происходит ничего страшного, а вот при выполнении

cmd.Execute

выскакивает ошибка о том, что слишком длинная строка запроса.
Может подскажите, а как тогда вообще выполнять длинные запросы и команды SQL, как эту ошибку обойти. А то мне во вторник сдавать уже программу, а тут вот такой вот камень приткновения. Уже по-разному пробывал, ничего не выходит.
Помогите!!!

А ты напиши хранимую процедуру, и сделай
cmd.CommandType = adCmdStoredProc
потом
cmd.CommandText = "sp_MYCOOLPROC"
Потом передаёшь ей параметры, так:
cmd.Parameters(0).Value = значение_твоего_0_параметра
...
cmd.Parameters(k).Value = значение_твоего_k_параметра

а уж потом делай ехехухе! ;-)

PS: нулевой параметр это RETURN -- его не трогай! А в sp можно прописать например RETURN 1 всё путём, а RETURN 0 не получилося!

dimka18
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 03.01.2003 (Пт) 8:53
Откуда: Russia

Сообщение dimka18 » 29.12.2003 (Пн) 8:30

Спасибо за помощь, друг =)
1111


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList