powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / PowerBuilder
25 сообщений из 27, страница 1 из 2
PowerBuilder
    #39894710
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Работаю с окнами данных в PowerBuilder 8.0. И столкнулась с проблемой. Я создала окно данных - DataWindow (1 скриншот) и назвала lab_3 , далее создала объект Window (имя red_dannyx) на котором расположила элементы - DataWindowControl, и кнопки (скриншот 2). Для DataWindowControl я указала DataObject - это имя DataWindow - lab_3 (Скриншот 3). В итоге в DataWindow появилась таблица с колонками но без записей( Скриншот 4). И дальше я в тупике. Не получается эти записи добавить. Я создаю код события Open() окна red_dannyx и вношу туда следующий код:


Код: sql
1.
2.
dw_1.settransobject(SQLCA) 
dw_1.retrieve()



После того, как хочу скомпилировать,у меня все вылетает и возникает окно с ошибкой( скриншот 5). В общем не понимаю, что я неправильно делаю. А лабораторку уже скоро сдавать надо. Может кто подскажет что не так, потому что уже весь интернет облазила и все безнадежно.






...
Рейтинг: 0 / 0
PowerBuilder
    #39895025
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB,
А коннект у вас точно описан и проходить успешно?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
/* Example*/
This simple example uses the default Transaction object SQLCA to connect to and disconnect from an ODBC data source named Sample:
// Set the default Transaction object properties.

SQLCA.DBMS="ODBC"
SQLCA.DBParm="ConnectString='DSN=Sample'"
// Connect to the database.
CONNECT USING SQLCA;
IF SQLCA.SQLCode < 0 THEN &
   MessageBox("Connect Error", SQLCA.SQLErrText,& Exclamation!)
...
Рейтинг: 0 / 0
PowerBuilder
    #39895028
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed, слушайте, а похоже что у меня этот коннект вообще не прописан, может из-за этого и ошибка....
А где я должна его прописать?
...
Рейтинг: 0 / 0
PowerBuilder
    #39895048
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как я поняла. я должна прописать это в Application в событии open?
...
Рейтинг: 0 / 0
PowerBuilder
    #39895071
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB
как я поняла. я должна прописать это в Application в событии open?

Да, перед выборкой данных . У меня под рукой нет PB, но сам коннект вы можете визуально построить, потом вставить его в код.
Любой ролик по простейшему примеру посмотрите - там будет показан как сделать connection.
...
Рейтинг: 0 / 0
PowerBuilder
    #39895073
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed,я сделала,как на скриншоте.И все равно ошибка такая же
...
Рейтинг: 0 / 0
PowerBuilder
    #39895076
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB,

Полина, Sample - это некоторый умозрительный пример. Вам же - надо получить подключение именно к вашей субд или файлу.
Проверить , что коннект реально проходит. Пока не разберётесь к коннектом - дальше идти нет смысла.
...
Рейтинг: 0 / 0
PowerBuilder
    #39895081
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed, ну мне еще нужно получается источник данных создать и драйвер еще нужен, через который будет проходить взаимодействие
...
Рейтинг: 0 / 0
PowerBuilder
    #39895082
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed
PolinaB,

Полина, Sample - это некоторый умозрительный пример. Вам же - надо получить подключение именно к вашей субд или файлу.
Проверить , что коннект реально проходит. Пока не разберётесь к коннектом - дальше идти нет смысла.


Если СУБД MSSQL, то описание примерно таким будет:

SQLCA.DBMS = "SNC SQL Native Client(OLE DB)"
SQLCA.LogPass = "PasswordP"
SQLCA.ServerName = "ServerP"
SQLCA.LogId = "LoginP"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Database='TestDatabase',Provider='SQLNCLI11SQL'"
CONNECT USING SQLCA;
IF SQLCA.SQLCode < 0 THEN
MessageBox("Not exists connect!!!", SQLCA.SQLErrText,& Exclamation!)
...
Рейтинг: 0 / 0
PowerBuilder
    #39895083
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed, ну вообще у меня sybase
...
Рейтинг: 0 / 0
PowerBuilder
    #39895089
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Слушайте почти получилось. Написала вот так как на скриншоте, но при запуске выдает все-таки окно об ошибке. А что не так? Имя своей БД я прописала.
...
Рейтинг: 0 / 0
PowerBuilder
    #39895092
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня все получилось, разобралась где ошибка была, спасибо большое за подсказки!
...
Рейтинг: 0 / 0
PowerBuilder
    #39895103
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А еще такой вопрос, а как прописать код, чтобы можно было добавлять записи?
Вот для кнопки удалить я прописала код, все удаляет:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
long row                                                                        
string usr, ask
row = dw_1.GetRow()                                                         
if row <= 0 then return                                                      

usr = Trim(dw_1.GetItemString(row, автомобиль_№auto'))                                   

ask = 'Вы действительно хотите удалить запись из списка "' + usr + '" из списка?'      

if messagebox('Удаление записи', ask, Question!, YesNo!, 2) = 2 then return   

dw_1.DeleteRow(row)     
...
Рейтинг: 0 / 0
PowerBuilder
    #39895164
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB
А еще такой вопрос, а как прописать код, чтобы можно было добавлять записи?
Вот для кнопки удалить я прописала код, все удаляет:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
long row                                                                        
string usr, ask
row = dw_1.GetRow()                                                         
if row <= 0 then return                                                      

usr = Trim(dw_1.GetItemString(row, автомобиль_№auto'))                                   

ask = 'Вы действительно хотите удалить запись из списка "' + usr + '" из списка?'      

if messagebox('Удаление записи', ask, Question!, YesNo!, 2) = 2 then return   

dw_1.DeleteRow(row)     


Если ваша DW базируется не на одной таблице , а на нескольких, тогда что удалять должна DW и вставлять в базе?
Напишите скрипт или даже процедуру, который вы будете выполнять через EXECUTE IMMEDIATE и повесите его на кнопку, а после этого будете освежать DW.
...
Рейтинг: 0 / 0
PowerBuilder
    #39895171
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed, ну смотрите, я запускаю приложение, две записи удалила. Но когда открываю свою базу, то в таблице автомобиль этих двух записей нет, а остальных таблицах эти записи остались. А как сделать так чтобы они тоже удалились?



...
Рейтинг: 0 / 0
PowerBuilder
    #39895172
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можете сказать как написать правильно?
...
Рейтинг: 0 / 0
PowerBuilder
    #39895180
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB
Можете сказать как написать правильно?


/*в базе*/

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create procedure dbo.DelCar (@pAutoId int)
as 
begin
begin tran

delete  from table2 where auto_id in (select ID from table1  where ID_AV = @pAutoId )
delete from table1  where ID_AV =   @pAutoId 

if @@trancount > 0 commit tran
end
go



На клиенте что то такое :

Код: c#
1.
2.
3.
4.
5.
String Exec_Sql 
Int CarIdDel int 
     CarIdDel   = 125
Exec_Sql  = 'exec dbo.DelCar(' + String(CarIdDel) + ')'
execute immediate(Exec_Sql) USING SQLCA;
...
Рейтинг: 0 / 0
PowerBuilder
    #39895184
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed, мне нужно свое подставить получается?
...
Рейтинг: 0 / 0
PowerBuilder
    #39895239
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB
medoed, мне нужно свое подставить получается?

Ну конечно, откуда я могу знать структуру вашей базы, в телепатии пока не силён!
...
Рейтинг: 0 / 0
PowerBuilder
    #39895289
Фотография Raven A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed,
IMHO. использование в PB "EXECUTE IMMEDIATE" при наличии Update() это нечто.
Филиппа на Вас нет.
...
Рейтинг: 0 / 0
PowerBuilder
    #39895305
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB,
интересно: а где это на РВ сегодня лабы делают? что эта за страна такая, где и РВ изучают, и есть по всей видимости и вакансии?
...
Рейтинг: 0 / 0
PowerBuilder
    #39895360
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,

Скорей всего Тульский университет. Там один препод до сих пор на билдере студентов учит. У нас одна выпускница работала - очень хороший специалист. Жаль, что многодетной мамой стала, ушла из профессии
...
Рейтинг: 0 / 0
PowerBuilder
    #39895379
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Raven A
medoed,
IMHO. использование в PB "EXECUTE IMMEDIATE" при наличии Update() это нечто.
Филиппа на Вас нет.

1. Я вроде пример для удаления привел, а не для изменения.
2. Мой пример пригодится и для java or c# or python , dw.update - затачивает разум тока под PB.
3. На PB не писал лет 7 уже, что было в памяти , то и написал , оно же работает !)))
4. Использование процедуры даёт свои преимущества, можно вызвать job-ы на пересчет, письма об удалении отправить и т.д. ...
Филипу превед!)))
...
Рейтинг: 0 / 0
PowerBuilder
    #39895381
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компостеров
AIS,

Скорей всего Тульский университет. Там один препод до сих пор на билдере студентов учит. У нас одна выпускница работала - очень хороший специалист. Жаль, что многодетной мамой стала, ушла из профессии

Для неё не жаль, материнство важнее профессии , имхо!
...
Рейтинг: 0 / 0
PowerBuilder
    #39895475
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
28.11.2019 9:48, medoed пишет:

> Для неё не жаль, материнство важнее профессии , имхо!

Плохо то, что спецов по эхотагу и так мало, а вместо них приходит ламо
типа топикстартерши.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / PowerBuilder
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]