![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi. Соединение с БД MS SQL Server
Соня © (2011-05-16 14:48:00)Считываю данные из таблиц БД в SQL Server с помощью DBGrid. В пяти таблицах данные считываются все, а в одной вообще не считываются! То есть видно, что появились соответствующие поля, количество строк = количеству строк в таблице БД, а сами строки пустые!
Может кто что сказать по этому поводу?
sniknik (2011-05-16 15:32:00) [21]> Не смешно.
не смеюсь.
Соня (2011-05-16 15:29:00) [22]sniknik ©
> как причина? покатит?
Не смешно.
Соня (2011-05-16 15:28:00) [23]Ega23 ©
CREATE TABLE Genres(
Id BigInt IDENTITY PRIMARY KEY,
Title VarChar( 20 ) NOT NULL,
About VarChar( 150 ) NOT NULL );
Соня (2011-05-16 15:27:00) [24]Ega23 ©
select COUNT(*) from Video_Rental_DB.dbo.Genres возвращает число 9, как и должно быть.
Соня (2011-05-16 15:25:00) [25]Ega23 ©
>тебе ещё рановато
Простите, дяденька, за несвоевременный вопрос :-))
Соня (2011-05-16 15:24:00) [26]sniknik ©
>значит скопипастил.
Причём тут это? Я ничего не копировала, а создала новый проект с нуля. Да и создавать тут нечего - только соединение с БД делаю.
Ega23 (2011-05-16 15:21:00) [27]
> С новым модулем то же самое...
Давай скрипт на создание таблицы.
Плюс заодно выполни запросselect count(*) from <Имя таблицы>
Ega23 (2011-05-16 15:20:00) [28]
> По каким причинам?
Причин - миллион. Но, боюсь, что тебе ещё рановато, многое не поймёшь.
Впрочем, почему бы и нет?
http://www.delphimaster.ru/searchresults.html?cx=partner-pub-9212733226161585%3Al0c7n49v7kz&cof=FORID%3A9&ie=windows-1251&q=TADOTable&sa=%CF%EE%E8%F1%EA&siteurl=delphimaster.ru%2Fsearch.html#985
Соня (2011-05-16 15:19:00) [29]С новым модулем то же самое...
sniknik (2011-05-16 15:18:00) [30]> По каким причинам?
ну, например, каждый раз спрашивая что-то, тебе будут говорить чтобы не использовал, и т.д. но только не то о чем спрашивал...
как причина? покатит?
sniknik (2011-05-16 15:17:00) [31]> помести туда Connection и свою 6-ю таблицу, свяжи с ней один DBGrid
+
помести = создай новые, с панели дельфи, а не копипастом со старого/не рабочего проекта.
Соня (2011-05-16 15:16:00) [32]Ega23
> C DataSet или с DataSource?
Да, sorry :-)
> Создай отдельный модуль, помести туда Connection и свою 6-ю таблицу, свяжи с ней один DBGrid
Хорошо, сейчас буду пробовать. Спасибо за совет :-)
> Не работай с TADOTable, используй TADODataSet
По каким причинам?
sniknik (2011-05-16 15:15:00) [33]> Да я ещё ничего не создавала...
значит скопипастил.
т.к.
> запрос на выборку данных из таблицы возвращает непустые значения...
то вариантов общем то не осталось.
Ega23 (2011-05-16 15:13:00) [34]
> Каждый DBGrid связала с DataSet.
C DataSet или с DataSource?
> 5 штук работают, а шестая не работает! Притом запрос на
> выборку данных из таблицы возвращает непустые значения..
Чудес не бывает. Создай отдельный модуль, помести туда Connection и свою 6-ю таблицу, свяжи с ней один DBGrid
P.S.
Не работай с TADOTable, используй TADODataSet.
Соня (2011-05-16 15:11:00) [35]sniknik
> наделал колонок с несуществующими полями? (не наделал, а наделала)
Да я ещё ничего не создавала...
Соня (2011-05-16 15:10:00) [36]sniknik
>в DBGrid данных нет!!! я знаю, я его использую для отображения данных.
Соня (2011-05-16 15:09:00) [37]Ega23 ©
1. Delphi 7, MS SQL Server 2008 R2
2. Скрипта нет. Я просто накидала в DataModule компоненты (ADOConnection, ADOTable, ADODataSet), соединила его с MainForm, на которой добавила DBGrid. Каждый DBGrid связала с DataSet.
5 штук работают, а шестая не работает! Притом запрос на выборку данных из таблицы возвращает непустые значения...
Ega23 (2011-05-16 14:57:00) [38]А если без зубоскальства, то:
1. Версия delphi, версия MS SQL.
2. Скрипт на выборку данных.
3. Результаты работы данного скрипта в QA (или в студии).
sniknik (2011-05-16 14:57:00) [39]в DBGrid данных нет!!! это тебе в виде наглядного подтверждения...
> а сами строки пустые!
наделал колонок с несуществующими полями?
Ega23 (2011-05-16 14:55:00) [40]Это ошибка. В программе.