Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Вниз

ADO + MSSQL + D6   Найти похожие ветки 

 
zks   (2002-09-23 12:52) [0]

Помогите кто может пожалуйста!!
Есть база Людей.
Я использую SQL - запрос вставки записей, значения передаю через параметры (их порядка 44). При выполнении ExecSQL. Вылезает ошибка "Дополнительные возможности не реализованы". Как это понимать, и как от него избавиться. Пишу под NT2000
Всем параметрам задаю явно типы.
Пожалуйста.


 
3JIA9I CyKA   (2002-09-23 12:55) [1]

Кусочек кода?


 
zks   (2002-09-23 13:11) [2]

Сам SQL: INSERT INTO TPerson
VALUES (:p1, :p2, .. :p44)
Сам код
DM.IsertPerson.Parameters.ParamByName("p1").Value := "gh";
...
и так далее в том же духе
ExecSQL; на нем все и вылазит
Тип задаю в инспекторе


 
3JIA9I CyKA   (2002-09-23 13:17) [3]

Вроде никакого криминала. Скрипт таблы и весь код встаки, pls.


 
zks   (2002-09-23 13:25) [4]

Но он заявляет, что дополнительные возможности не реализованы.
Кстати глюк может быть из-за даты, я прочитал в форуме.
У меня много разных типов (стринг, дата, целое)
И я использую ODBC


 
3JIA9I CyKA   (2002-09-23 13:52) [5]

см. 3JIA9I CyKA © (23.09.02 13:17)


 
zks   (2002-09-23 14:30) [6]

Уфф

Таблица TPerson

ID int, уникальный
Code_Vod char5
Suname char30
Name char30
Otchestvo char30
BirthDay DateTime
Pasp_seriya char
Number_Pasp char
Date_Vydachi DateTime
Kem char150
INN char30
Pension char 30
Index integer
City char30
Raion char30
Street char30
Home char10
Korpus char10
Kv char5
Seriya_Vod char10
Number_Vod char10
DateVydachi_Vod DateTime
Kategor char5
********************************************************
SQL вставки

INSERT INTO TPerson
VALUES(:Code_Vod, :Suname, :Name, :Otchestvo, :BirthDay,
:Pasp_Seriya, :Number_Pasp, :Date_Vydachi, :Kem, :INN, :Pension,
:Index, :City, :Raion, :Street, :Home, :Korpus, ;Kv, :Seriya_Vod,
:Number_Vod, :DateVydachi_Vod, :Kategor)
Код передачи параметров
with DM.InsertPerson.Parameters do
begin
ParamByName("Cod_Vod").Value := edCodeVod.Text;
ParamByName("Suname").Value := edSunameVod.Text;
ParamByName("Name").Value := edNameVod.Text;
ParamByName("Otchestvo").Value := edOtchestvoVod.Text;
ParamByName("BirthDay").Value := StrToDate(edBirthDayVod.Text);
ParamByName("Pasp_Seriya").Value := edPaspSeriya.Text;
ParamByName("Number_Pasp").Value := edNumberPasp.Text;
ParamByName("Date_Vydachi").Value :=
StrToDate(edDate_Vydachi.Text);
ParamByName("Kem").Value := edKemPasp.Text;
дальше в таком духе
end;
DM.InserPerson.ExecSql;


 
3JIA9I CyKA   (2002-09-23 14:47) [7]

А есть уверенность, что это
ParamByName("BirthDay").Value := StrToDate(edBirthDayVod.Text);
сработает правильно?


 
zks   (2002-09-23 14:58) [8]

Имееш ввиду правильно ли конвертирует?
Или что


 
3JIA9I CyKA   (2002-09-23 16:12) [9]

типа того


 
zks   (2002-09-24 04:00) [10]

Проверю и скажу.
Насчет OLE - выбор провайдера .


 
zks   (2002-09-26 05:22) [11]

Получилось, выбрал провайдера, и таблицу большую разделил на насколько.
Только вопрос: Когда делаю вставку записи INSERT поле ID автоматически выставляется сервером БД. Чтобы узнать код этого ID нужно делать запрос и получать код. По красивее есть пути.


 
Владислав   (2002-09-26 06:15) [12]

А каким образом ты можешь получить код ID, делая запрос?


 
zks   (2002-09-26 09:44) [13]

Типа SELECT * FROM Person WHERE SUname = "a"

Код получу
N := Query1.FieldByName("Id").Value
не важно что используеш ADO или локальные суть одна.


 
doomin   (2002-09-26 10:53) [14]

Что бы получить ID можешь сразу заменить ADOCommand на ADODataset и сделать запрос типа
insert ....
select @@IDENTITY as ID

После открытия этого запроса в Fields[0] получишь ID, созданный инсертом.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
1-56191
margol
2002-10-07 14:59
2002.10.17
Работа с файлами


14-56347
McSimm
2002-09-24 19:44
2002.10.17
Виктор, с Днем Рождения ! ! ! ! !


1-56108
Alik26
2002-10-09 09:12
2002.10.17
Создаю TImage и на DblClick -е нужно Label -у присвоить имя Timag


1-56127
Demon[DZ]
2002-10-09 10:45
2002.10.17
DrawGrid


1-56134
Sego
2002-10-08 14:57
2002.10.17
Архивация в консольном приложении





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский