Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: CL | DM;

Вниз

Oracle: редактирование таблицы   Найти похожие ветки 

 
SRom   (2003-08-22 11:20) [0]

Подскажите, Как с помощью переменной типа TOracleDataSet и метода SetVariable загнать значение в определенную таблицу.
Если можно, дайте фрагмент программного кода. Для определенности будем считать, что таблица называется MyTable и в ней определена колонка DATE. Заранее спасибо. Мы пытаемся сделать это так:

OracleDataSet.SQL.Clear;
strsql1:="select * from MyTable";
OracleDataSet.SQL.Add(strsql1);
//OracleDataSet.open;
y:=OleObj.DscSaleDate;
OracleDataSet.SetVariable(":DATE",y);
OracleDataSet.SQL.Clear;
strsql1:="commit";
OracleDataSet.SQL.Add(strsql1);
OracleDataSet.ExecSQL;
вылетает в последней строке.


 
a_andru   (2003-08-22 11:27) [1]

Даже не знаю чем помочь


 
roottim   (2003-08-22 11:35) [2]

даже отвечать нехочется :(, как-то грусно все это...


 
Sergey13   (2003-08-22 11:37) [3]

2SRom (22.08.03 11:20)
> Мы пытаемся сделать это так:
Долго пытаетесь? 8-)
Я так понял это DOA? Метод SetVariable не предназначен для "загоняния" значений в таблицу. Им "загоняют" значение переменной в запрос. Читайте доки - они рулез. 8-)


 
Johnmen   (2003-08-22 11:37) [4]

Конечно вылетит. Нет такой SQL команды "commit".
Наверное, стОит посмотреть метод Commit соответствующего компонента (...DataBase, ...Transaction).


 
Vlad   (2003-08-22 11:39) [5]

Ребяты, кажется у вас полное непонимание дела.
"Загнать" в таблицу можно с помощью TOracleQuery;
OracleQuery.SQL.Clear;
OracleQuery.SQL.Add("INSERT INTO MYTABLE VALUES (:DATE,.... и все поля таблицы)");
OracleQuery.DeclareVariable("DATE",ftDate);
OracleQuery.SetVariable("DATE",MyDate);
OracleQuery.ExcecSql;

2 Johnmen © (22.08.03 11:37) [4]
Есть такая PL-SQL комманда - commit


 
Johnmen   (2003-08-22 11:43) [6]

>Vlad © (22.08.03 11:39) [5]
>Есть такая PL-SQL комманда - commit

Кто сказал, что в ЗАПРОСАХ можно использовать PL-SQL комманды ? :)))))


 
Vlad   (2003-08-22 11:49) [7]

допустим я сказал.
query.sql.text:="begin commit; end;"
И вперед.
Другое дело, что это тоже самое, что почесать левой нагой за правым ухом.


 
Johnmen   (2003-08-22 11:57) [8]

>Vlad © (22.08.03 11:49) [7]

Э-э-э-э...
Ты путаешь выполнение настоящей SQL команды и анонимного begin блока. :)


 
SRom   (2003-08-22 11:59) [9]

2Vlad
Попробовал. Выполняется и не вылетает, только содержимое таблицы не меняется. Чего не хватает?


 
Vlad   (2003-08-22 12:04) [10]

2 SRom (22.08.03 11:59) [9]
приведи код. Как ты это делаешь ?
Я тебе просто пример написал.
DeclareVariables и SetVariables нужно делать для всех переменных запроса.


 
a_andru   (2003-08-22 12:10) [11]

from SRom to Vlad :

OracleQuery.SQL.Add("insert into andru.discount VALUES(: DATE,:BARCODE,:TOTAL_SUM,:RATE)");

ShowMessage(OracleQuery.SQL.text);
y:=OleObj.DscSaleDate;
b:=OleObj.DscSaleBarcode;
ts:=OleObj.DscSaleTotal;
r:=1;

OracleQuery.SetVariable("DATE",y);
OracleQuery.SetVariable("BARCODE",b);
OracleQuery.SetVariable("total_sum",ts);
OracleQuery.SetVariable("Rate",r);

OracleQuery.Execute;
OracleQuery.sql.Text := "Commit";
ShowMessage(OracleQuery.SQL.text);
OracleQuery.Execute;


 
Vlad   (2003-08-22 12:15) [12]

Вот это НЕ НАДО !!!
>> OracleQuery.sql.Text := "Commit";
>> ShowMessage(OracleQuery.SQL.text);
>> OracleQuery.Execute;

В конце поставь на всяк случай OracleSession.Commit;


 
SRom   (2003-08-22 12:19) [13]

Спасибо! Получилось.


 
Vlad   (2003-08-22 12:22) [14]

Не за что, заходите еще :-)



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

Текущий архив: 2003.09.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
14-33731
Дмитрий_Б
2003-08-25 07:52
2003.09.11
Не ставится MS SQL Server 2000 Desktop Engine


8-33697
Птущенко Денис
2003-05-14 12:20
2003.09.11
Shockwave Flash


3-33495
SRom
2003-08-22 11:20
2003.09.11
Oracle: редактирование таблицы


7-33818
Студент из Запорожья
2003-06-29 22:02
2003.09.11
Как подключить шрифт, лежащий в папке программы?


14-33735
Knight
2003-08-21 09:30
2003.09.11
Клиент форума





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский