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

Вниз

SQL explorer. Обновление записей в таблицах..   Найти похожие ветки 

 
Staraya   (2003-03-26 11:01) [0]

Здравствуйте! После ввода данных на форме документа в приложении, данные должны записаться в указанную в тексте sql, созданную специално для этих данных таблицу. Когда я раворачиваю sql explorer, чтобы посмотреть записались они у меня в таблицу или нет,то обнаруживаю, что введенных данных там еще нет. Потом я закрываю sql explorer и через несколько минут открываю снова, после чего данные уже отображаются в таблице соответствующей базы. В чем может быть проблема? Я использую компонеты IB


 
Соловьев   (2003-03-26 11:05) [1]

commit


 
Staraya   (2003-03-26 11:21) [2]

> Соловьев
Я не совсем поняла где я должна укзать commit. В транзакции определить уровень изоляции read commited или в обработчике Button1Click я должна что-то написать? Если Вас не затруднит, объясните подробнее


 
Соловьев   (2003-03-26 11:24) [3]

После Post сделать Transaction.CommitRetaining
Ну а SQL Exploerу сделать рефреш даной таблицы.


 
Staraya   (2003-03-26 11:40) [4]

>Соловьев
Понятно, спасибо. Только у меня еще один вопрос возник. Почему когда я делаю свойство Active=true у компонента IBQuery, то вылетает такая ошибка: "arithmetic exception,numeric overflow,or string truncation.Cannot transliterate character between character sets". И данные в соответствующей dbgrid не отображаются, хотя они есть в этой таблице. Может Вы сталкивались с такой ошибкой в своей практике?


 
Соловьев   (2003-03-26 11:41) [5]

при подключении указана кодировка?


 
Staraya   (2003-03-26 11:52) [6]

> Соловьев
Дело в том, что я точно не знаю где нужно указывать кодировку. Я знаю только, что при создании самой базы данных(база.gdb) можно указать кодировку(win1251, например). А больше я не знаю. Вы имеете в виду, у компонента IBQuery при подключении где-то кодировку указывать?


 
zacho   (2003-03-26 11:53) [7]

Это может быть не только из-за кодировки. А так же из-за "arithmetic exception,numeric overflow,or string truncation".
Так что приведи запрос и структуру данных


 
Соловьев   (2003-03-26 11:55) [8]

IBDatabase.Params.Add("lc_ctype=WIN1251");

> Почему когда я делаю свойство Active=true у компонента IBQuery

Там нет вычисляемых полей?


 
zacho   (2003-03-26 12:10) [9]

Еще небольшой советик :)
Выкинуть SQL Explorer и поставить что-нибудь специализированное для IB, например IB Expert http://www.ibexpert.com
Список инструментов администратора и разработчика БД см. на http://www.ibase.ru/d_tools.htm


 
Staraya   (2003-03-26 13:22) [10]

> Соловьев
Вычисляемых полей нет. В таблице только два поля(nom varchar(3),name varchar(50))


 
Staraya   (2003-03-26 13:24) [11]

> Соловьев
IBDatabase.Params.Add("lc_ctype=WIN1251");
Этот параметр у меня был указан.


 
Sheriff   (2003-03-26 13:42) [12]

попытка записать строку в числовое поле


 
Staraya   (2003-03-26 13:49) [13]

>Sheriff
В таблице, в которую пытаюсь записать данные всего два поля и оба строковые. Когда я делала тоже самое через BDE, у меня все получалось, как только я решила использовать IB так сразу появились проблемы. Может компонет IBTransaction я как-то не правильно использую?


 
Соловьев   (2003-03-26 13:55) [14]

Так у тебя проблема когда ты записываешь или когда Active=true?


 
Staraya   (2003-03-26 13:58) [15]

> Соловьев
Когда Active=true


 
Соловьев   (2003-03-26 14:04) [16]

какой текст запроса в IBQuery?


 
Staraya   (2003-03-26 14:09) [17]

> Соловьев
select * from ceha .Где ceha-это та самая таблица, в котором два поля. Я делаю Active=true, для того чтоб данные из этой таблицы отобразились в соответствующей dbgrid


 
Соловьев   (2003-03-26 14:15) [18]

указана в IBQuery.Transaction транзакция?
Какие еще на форме компоненты?


 
Sheriff   (2003-03-26 14:16) [19]

фантастики не бывает...
где-то существуют старые связи, пройтись по всем элементам и обновить...


 
Staraya   (2003-03-26 14:19) [20]

>Соловьев
Да,IBQuery.Transaction указана(свойство read commited), также имеется IBDatabase и также Datasource


 
Соловьев   (2003-03-26 14:21) [21]

SQL диалект какой?
Попробуй поновой все компоненты положить.


 
zacho   (2003-03-26 14:21) [22]

Или в IBDatabase.Params все-же нет lc_ctype=win1251, или у полей nom и name charset не win1251


 
Staraya   (2003-03-26 14:29) [23]

> Соловьев
SQL диалект 1-й. На 3-й не переделывается, пишет "sql dialect invalid"


 
Staraya   (2003-03-26 14:32) [24]

> zacho
Как мне узнать, что у полей nom и name charset не win1251


 
Соловьев   (2003-03-26 14:33) [25]

посмотри zacho © (26.03.03 14:21) он прав наверное, что ты при создании полей не указала кодировку.


 
Соловьев   (2003-03-26 14:34) [26]


> Как мне узнать, что у полей nom и name charset не win1251

SQL Exploer - оисание таблицы.


 
Staraya   (2003-03-26 14:34) [27]

>Sheriff
И забыла самое главное, у меня сначала на всех формах в датамодуле были компоненты BDE, потом я их удаляла и на их место ставила компоненты IB, все связи я указала правильно, мне кажется...


 
zacho   (2003-03-26 14:39) [28]

Посмотреть charset :)
Как в SQL Explorer - уже не помню. А, например, в IB Expert - элементарно :)
В общем, если создаешь базу указав DEFAULT CHARACTER SET - то у всех строковых полей по умолчанию будет именно этот charset. Еще charset можно указать непосредственно при создании таблицы (или добавлении поля в существующую)
В очередной :) раз кину ссылку - http://www.ibase.ru/devinfo/ibrusfaq.htm
почитай обязательно.


 
Staraya   (2003-03-26 14:53) [29]

> zacho
Спасибо за ссылку, я уже ее добавила в избранное:)
Я удалила компонент IBQuery и по-новой создала, потом в свойствах полей таблицы в sql exlorere поменяла тип полей на другой и снова на varchar, сохранила изменения и теперь эта ошибка не появляется. Только вот теперь в сетке dbgrid отображаются только наименования полей таблицы, а сами данные из нее не отображаются и невозможно ее редактировать(в сетке). В чем может быть причина?


 
Соловьев   (2003-03-26 14:58) [30]


> невозможно ее редактировать(в сетке).

юзай IBDataSet

> из нее не отображаются

Active=true и привязать грид


 
zacho   (2003-03-26 14:59) [31]


> Staraya (26.03.03 14:53)

В таблице нет данных ?


 
Staraya   (2003-03-26 15:09) [32]

> zacho
В таблице данные как раз есть, но в сетке не отображаются. Может нужно добавить для IBQuery статические поля? Хотя их смысл я не очень хорошо допонимаю, как впрочем и такое понятие как "объекты поля".


 
Соловьев   (2003-03-26 15:14) [33]

грид привязан????


 
Staraya   (2003-03-26 15:23) [34]

> Соловьев
Да, грид привязан(у него в свойстве DataSource стоит соответствующий DataModule2.DSCeh), а у DSCeh в dataset указан соответствующий IBQuery.


 
Соловьев   (2003-03-26 15:26) [35]

значит нет данных или запрос не активен. другого не дано.


 
Staraya   (2003-03-26 15:41) [36]

> Соловьев
:)На самом деле нет данных в таблице! Но они же там были. Интересно, почему они исчезли?


 
zacho   (2003-03-26 15:46) [37]


> Staraya (26.03.03 15:41)

Скажи спасибо SQL Explorer"у :-)
При изменении структуры таблицы, он тебе ее просто пересоздал.
Так что скачай IB Expert - и не будет таких проблем !


 
Соловьев   (2003-03-26 15:54) [38]

будут другие :)))


 
Staraya   (2003-03-26 16:26) [39]

Всем спасибо огромное за помощь!Уже скачала IB Expert2.5.0.22Personal Edition. Я именно то что нужно скачала или нет?



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

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

Наверх




Память: 0.52 MB
Время: 0.009 c
1-44214
saha
2003-04-01 11:20
2003.04.14
TEdit


9-43985
12345678_
2002-11-15 09:29
2003.04.14
DirectPlay


14-44323
Stas
2003-03-25 13:48
2003.04.14
XML


14-44453
eLVik
2003-03-29 15:35
2003.04.14
Delphi моей мечты!


3-44058
Dimitry
2003-03-26 12:19
2003.04.14
как без BDE работать с локальными таблицами(с полями Graphics





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