Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 26.07.2007, 17:06   #11
shuhermayer
Пользователь
 
Регистрация: 20.07.2007
Сообщений: 14
Репутация: 10
По умолчанию

помимо вопроса в предыдущем посте есть ещё один:

При вводе запроса:
Query1.SQL.Add('SELECT sfera.id FROM sfera');

выдаётся ошибка: General SQL error. .... Unknown column 'sfera.id' in 'field list"


Может я где-то что-то не связал?
На форме использовал компоненты:
Tdatabase
TQuery
TdataSource
TTable
вроде связал их.... вроде правильно.... прилагаю исходник, посмотрите, пожалуйста, что не так.
Вложения
Тип файла: zip bd.zip (497.1 Кб, 28 просмотров)
shuhermayer вне форума   Ответить с цитированием
Старый 26.07.2007, 20:09   #12
Virtson
Владимир М.
Профессионал
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Адрес: Барнаул -> Новосибирск
Сообщений: 1,290
Репутация: 442

icq: 329638065
По умолчанию

id_sfera у тебя поле называется,
Цитата:
Unknown column 'sfera.id' in 'field list"
абсолютно верно матерится
__________________
Берегите друг друга!
Virtson вне форума   Ответить с цитированием
Старый 26.07.2007, 20:22   #13
shuhermayer
Пользователь
 
Регистрация: 20.07.2007
Сообщений: 14
Репутация: 10
По умолчанию

да, точно, проблема с ошибкой ушла, но всё равно выводит МЕМО
Изображения
Тип файла: jpg Clipboard02.jpg (3.6 Кб, 12 просмотров)
shuhermayer вне форума   Ответить с цитированием
Старый 27.07.2007, 08:12   #14
Virtson
Владимир М.
Профессионал
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Адрес: Барнаул -> Новосибирск
Сообщений: 1,290
Репутация: 442

icq: 329638065
По умолчанию

это оно и есть )

Строковые типы

[NATIONAL] CHAR(M) [BINARY]
Строка, всегда имеющая длину M (в случае, когда занесенное значение
короче, оно дополняется пробелами). M может лежать в пределах от 1 до
255. Приставка NATIONAL указывет на необходимость использования кодовой
таблицы, используемой по умолчанию.

[NATIONAL] VARCHAR(M) [BINARY]
Аналогично посленему, за исключением того, что длина значения может
быть произвольной (от 1 до 255 , а все пробелы в конце строки
удалаются.

TINYBLOB (TINYTEXT)
Тип BLOB или TEXT, длиной от 1 до 255 символов.

BLOB (TEXT)
Тип BLOB или TEXT, длиной от 1 до 65535 символов.

MEDIUMBLOB (MEDIUMTEXT)
Тип BLOB или TEXT, длиной от 1 до 16777215 символов.

LONGBLOB (LONGTEXT)
Тип BLOB или TEXT, длиной от 1 до 4294967295 символов.

http://www.opennet.ru/base/dev/mysql_types.txt.html
__________________
Берегите друг друга!
Virtson вне форума   Ответить с цитированием
Старый 27.07.2007, 20:52   #15
shuhermayer
Пользователь
 
Регистрация: 20.07.2007
Сообщений: 14
Репутация: 10
По умолчанию

не понял, как мне это поможет избавиться от МЕМО в ДБгриде?

Надо при создании таблицы определять тип другой? а text не тип? если другой, то какой?

Поискал в инете, на сколько я понял ситуация такая же у чела была:
Цитата:
ВОПРОС:
"Здравствуйте!
У меня такая проблема: в компоненте TDBGrid содержимое полей типа Memo не отбражаются. Появляется надпись: (WIDEMEMO).
Подскажите, пожалуйста, каким образом мне все-таки отобразить, скажем, строку текста из этого поля и добавить многоточие?"

ОТВЕТ:
Сделай вычисляемое поле.
Дабл-кликаешь по таблице(TTable). Появляется окошечко. Райт-кликаешь по окошечку, появляется менюшечка. Выбираешь пункт "New Field"(по-моему так), и задаешь тип поля - Calculated. У таблицы пишешь обработчик события onCalculateFields(дельфы под рукой сечас нет, но примерно так).
Код:
s:=Твоя_таблица.FieldByName('Поле Мемо').AsString;
{Чего-нибудь делаешь со строкой, например оставляешь в ней первые демять символов}
Твоя_таблица.FieldByName('Вычисляем ое поле').AsString:=s;

Это верный ответ? а не могли бы Вы поподробнее для моего примера расписать код? что такое Поле мемо (что вместо этого писать), и что такое Вычисляемое поле?

Ну и собственно какой тип и где ставить? При создании или в ТТabale выбирать все поля и для каждого тип прописывать?

ПОМОГИТЕ, НЕ ПОНИМАЮ!

Последний раз редактировалось shuhermayer; 27.07.2007 в 23:07.
shuhermayer вне форума   Ответить с цитированием
Старый 30.07.2007, 13:10   #16
shuhermayer
Пользователь
 
Регистрация: 20.07.2007
Сообщений: 14
Репутация: 10
По умолчанию

С тем наконец-то разобрался, большое спасибо.
Если можно, ещё один вопрос.
Как записать данные из Edit'a в БД?

Query2.SQL.Add('INSERT INTO vids (id_vid, vid_name, oboznach, img_sechenie, img_plan');
Query2.SQL.Add('SELECT MAX(id_vid)+1, '''+vid_name+''', '''+oboznach+''', '''+img_sechenie+''', '''+img_plan+''');
Query2.SQL.Add('FROM vids');

что не так? или как лучше сделать?
перед запросом текстовые поля присвоил соответствующим переменным.
shuhermayer вне форума   Ответить с цитированием
Старый 30.07.2007, 14:48   #17
Virtson
Владимир М.
Профессионал
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Адрес: Барнаул -> Новосибирск
Сообщений: 1,290
Репутация: 442

icq: 329638065
По умолчанию

SELECT MAX(id_vid)
это можно сделать отдельно,
затем Insert c переданными параметрами
__________________
Берегите друг друга!
Virtson вне форума   Ответить с цитированием
Старый 30.07.2007, 14:50   #18
Virtson
Владимир М.
Профессионал
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Адрес: Барнаул -> Новосибирск
Сообщений: 1,290
Репутация: 442

icq: 329638065
По умолчанию

для id_vid лучше выбрать тип 'счетчик' / 'автоинкремент' поля
__________________
Берегите друг друга!
Virtson вне форума   Ответить с цитированием
Старый 30.07.2007, 17:18   #19
shuhermayer
Пользователь
 
Регистрация: 20.07.2007
Сообщений: 14
Репутация: 10
По умолчанию

знаю, что с переданными параметрами можно, но не знаю как, не могли бы Вы проиллюстрировать, ну в текстовом виде как оформляется такой запрос?

Про МАКС знаю, счётчик тоже понятно, но это чуть позже доработаю, спасибо.

Последний раз редактировалось shuhermayer; 30.07.2007 в 17:27.
shuhermayer вне форума   Ответить с цитированием
Старый 01.08.2007, 14:43   #20
Virtson
Владимир М.
Профессионал
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Адрес: Барнаул -> Новосибирск
Сообщений: 1,290
Репутация: 442

icq: 329638065
По умолчанию

Код:

Query2.SQL.Add('INSERT INTO vids (id, name, oboznach, sechenie, plan
values (:id, :name, :oboznach, :sechenie, :plan)');

__________________
Берегите друг друга!
Virtson вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связать Mysql c Delphi kiber0net0 Помощь студентам 4 02.09.2008 23:44
Delphi + удаленный MySQL Viteef БД в Delphi 5 30.05.2008 15:27
MySQL и Delphi, проблема... POPOV SQL, базы данных 1 28.12.2007 09:03
ФОТО из Delphi в БД MySQL chekanoff БД в Delphi 30 30.11.2007 22:24
MySQL+Delphi Toxa Общие вопросы Delphi 3 23.01.2007 19:24


00:43.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru