![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
перенос текстовых данных с Дельфи формы в таблицу Oracle [D7]
ssa © (2008-11-10 14:37:00)Доброе время суток!
Помогите с кодом переноса текстовых данных с Дельфи формы в таблицу Oracle. Таблица создана. Данные на форме заполняются. Необходимо их записывать нажатием кнопки в таблицу.Одно нажатие - одна запись в таблице.
с помощью каких компонентов Д7 можно это сделать.
ssa (2008-11-17 11:51:00) [1]Petr V. Abramov © (13.11.08 23:54) [31]
> через BDE
коннекться не через BDE, я этот глюкавнике не разбираюсь
<Цитата>
BDE точно глюкавник
получилось соединиться с СУБД Oracle 8.1.7.4 через ADO !!!
типа:
procedure TForm1.Button4Click(Sender: TObject);
begin
with ADOQuery1 do begin
Open;
Append;
try SimpleDataSet1.Active := false;
SimpleDataSet1.DataSet.Active := false;
SimpleDataSet1.DataSet.CommandText :=
'insert into parus.ssa_books2(NDOC,AGN,TR,NOMEN,WT,WB) values ( ' +
'''' + Edit2.Text + ''', ' +
'''' + Edit3.Text + ''', ' +
'''' + Edit4.Text + ''', ' +
'''' + Edit5.Text + ''', ' +
'''' + Edit6.Text + ''', ' +
'''' + Edit7.Text + ''')';
SimpleDataSet1.Active := true;
SimpleDataSet1.DataSet.Active := true;
except
end;
end;
использовались компоненты
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
SimpleDataSet1: TSimpleDataSet;
в ADOConnection1: TADOConnection;
правильно надо выбрать провайдера , а строка подключения у меня-
Provider=MSDAORA.1;Password=****;User ID=PARUS;Data Source=ZLAK
спасибо всем !!!
ssa (2008-11-14 08:44:00) [2]меняю оракловый альяс на альяс БД PDX35 - все начинает работать
сам оракл без бде работает (ODBC)
соединения через оракловые службы, tns listener и тд
но у базы есть альяс в бде
Petr V. Abramov (2008-11-13 23:56:00) [3]
> Petr V. Abramov © (13.11.08 23:54) [31]
хотя твое "неработанье" с глюками BDE не связано (скорее всего), читай внимательно про TDatabase, TDataset, какие у них есть св-ва и нафих они нужны
Petr V. Abramov (2008-11-13 23:54:00) [4]
> через BDE
коннекться не через BDE, я этот глюкавнике не разбираюсь
ssa (2008-11-13 15:15:00) [5]procedure TForm1.Button3Click(Sender: TObject);
begin
TmpIn:='DELETE FROM PARUS.ZL_WEIGHT_ALL';
Form1.QurPsk(TmpIn);
end;
не срабатывает даже при
procedure TForm1.QurPsk(TmpIn:String);
begin
showmessage(TmpIn);
Query1.SQL.Text:=TmpIn;
try
Query1.ExecSQL;
except
on EDBEngineError do
begin showmessage('Запрос не выполнен !'); end;
end ;
end;
а в экплоеере DELETE FROM PARUS.ZL_WEIGHT_ALL работает
ssa (2008-11-13 15:09:00) [6]Может быть вставка не срабатывает, тк в оракловой таблице , если смотреть в девелопере есть последний столбик t.rowid ,не относящийся к структуре таблицы zl_weight_all (select t.*, t.rowid from zl_weight_all t)
???
ssa (2008-11-13 15:04:00) [7]попробуй Query8, должно сработать.
коннектишься через BDE? dbExpress?
<Цитата>
Query8 ?
D8 - восьмая версия Делфи или?
ssa (2008-11-13 15:01:00) [8]через BDE
Petr V. Abramov (2008-11-13 10:58:00) [9]
> ssa (12.11.08 16:35) [22]
> компоненты для соединения используются следующие
> DataSource1: TDataSource;
> Query1: TQuery;
> Table1: TTable;
попробуй Query8, должно сработать.
коннектишься через BDE? dbExpress?
Sergey13 (2008-11-13 08:19:00) [10]> [20] ssa (12.11.08 15:54)
> if Query1.State <> dsInactive then
> Query1.close;
> Query1.SQL.Clear;
> Query1.SQL.Add(TmpIn);
> try
> if not Query1.Prepared then
> begin
> Query1.Unidirectional:=True;
> Query1.Prepare;
> end;
> Query1.ExecSQL;
Попробуй сократить до
Query1.SQL.Text=TmpIn;
try
Query1.ExecSQL;
ssa (2008-11-13 06:15:00) [11]БД через SQL Explorer открывается нормально
MsGuns (2008-11-12 22:35:00) [12]Попробуйте открыть БД через SQL Explorer, используя созданный оракловый алиас
ssa (2008-11-12 16:35:00) [13][20] - пример переноса текстовых данных с д7 в парадох 35 таблицы,
если указываю альяс оракловый и оракловую таблицу в Table1,
то не могу приконнектиться к БД Oracle - ошибка ORA-01012 not logged on
компоненты для соединения используются следующие
DataSource1: TDataSource;
Query1: TQuery;
Table1: TTable;
MsGuns (2008-11-12 16:01:00) [14]Какое отношение [20] имеет к сабжу ?
К тому же код ужасный как по форме, так и по содержанию
ssa (2008-11-12 15:54:00) [15]Connected to:
Oracle8i Release 8.1.7.4.1
через
DataSource1: TDataSource;
Query1: TQuery;
Table1: TTable;
если указываю альяс для таблиц Paradox35
все срабатывает - вот фрагмент программы:
...
procedure TForm1.QurPsk(TmpIn:String);
begin
if Query1.State <> dsInactive then
Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add(TmpIn);
try
if not Query1.Prepared then
begin
Query1.Unidirectional:=True;
Query1.Prepare;
end;
Query1.ExecSQL;
showmessage('insert');
except
on EDBEngineError do
begin showmessage('Запрос не выполнен !'); end;
end ;
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
TmpIn:='INSERT INTO W_ALL.DB(RN,COMPANY,DOCPREF,DOCNUMB,'+
'W_T, W_B, D_T, D_B, U_T, U_B, WM, TR, NOMEN,AGN)'+
' VALUES(' +
'8'+Edit1.Text +','+ //RN
'17100001' +','+ //COMPANY
'"'+ Edit2.Text +'"'+','+ //DOCPREF
'"'+ Edit1.Text +'"'+','+ //DOCNUMB
Edit5.Text +','+ //W_T
Edit6.Text +','+ //W_B
'"'+ DateToStr(now) +'"'+','+ //D_T
'"'+ DateToStr(now) +'"'+','+ //D_T
'"'+ 'VESOVAYA3' +'"'+','+ //U_T
'"'+ 'VESOVAYA3' +'"'+','+ //U_B
'"'+ 'Автовесы №3' +'"'+','+ //WM
'"'+ Edit2.Text +'"'+','+ //TR
'"'+ ComboBox2.Text +'"'+','+ //NOMEN
'"'+ ComboBox1.Text +'"'+')'; //AGN}
Form1.QurPsk(TmpIn);
end;
...
но хотелось скидывать эту информацию в БД Oracle8i Release 8.1.7.4.1
Petr V. Abramov (2008-11-11 23:17:00) [16]
> Cause: A host language program issued an Oracle call, other
> than OLON or OLOGON
похоже, пытаются работать в режиме совместимости с Oracle7
Автор, скажи, какие компоненты используешь, версию Oracle, и как пытаешься коннектиться.
MsGuns (2008-11-11 22:35:00) [17]Если работаете через BDE, то ей нужен алиас. Создайте и настройте его например в BDE администраторе, а затем подключите TDataBase к этому алиасу. Которче, справка по TDataBase + TSession Вам все подробно расскажет
ANB (2008-11-11 18:49:00) [18]
> ssa (10.11.08 16:23) [15]
> для
> Database1: TDatabase;
> SP1: TStoredProc;
> как свойства изначально выставить
> (типа Active, SessionName, Connected,KeepConnection...
Тебе оракл честно говорит - законнектсясначала, потом дергай хранимки.
ODAC поставь - на седняшний момент одна из самых удобных библиотек.
ssa (2008-11-10 16:25:00) [19]ORA-01012 not logged on
Cause: A host language program issued an Oracle call, other than OLON or OLOGON, without being logged on to Oracle. This can occur when a user process attempts to access the database after the instance it is connected to terminates, forcing the process to disconnect.
ssa (2008-11-10 16:23:00) [20]для
Database1: TDatabase;
SP1: TStoredProc;
как свойства изначально выставить
(типа Active, SessionName, Connected,KeepConnection...