|
|
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Ув. форумчане. Пишу программку на VC++ 6.0 Очень прошу не игнорировать столь, возможно, простые вопросы. Есть файл базы данных (*.dbf) нужно всю информацию из него вывести в гриде. Можно канечно использовать ADO, но тогда стает вопрос как вывести не всю информацию, а, допустим, результат выборки. Подскажите пожалуйста на простом примере как правильно строить запросы и какие функции использовать чтоб можно было вывести информацию в грид с использованием sql запроса и элемента управления формы editbox'a (m_edit). Всем заранее спасибо, с уважением Евгений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 13:26 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ADO принципиально( с его recordset - ом, так вроде б называется ) или как вариант подойдет ADO.NET ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 13:30 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
JevgeniyУв. форумчане. Пишу программку на VC++ 6.0 Очень прошу не игнорировать столь, возможно, простые вопросы. Есть файл базы данных (*.dbf) нужно всю информацию из него вывести в гриде. Можно канечно использовать ADO, но тогда стает вопрос как вывести не всю информацию, а, допустим, результат выборки. Подскажите пожалуйста на простом примере как правильно строить запросы и какие функции использовать чтоб можно было вывести информацию в грид с использованием sql запроса и элемента управления формы editbox'a (m_edit). Всем заранее спасибо, с уважением Евгений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 14:40 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Хорошо, а можно примерчик как можно реализовать? Сделал такую заготовку, и не работает :( Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 14:40 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
JevgeniyУв. форумчане. Пишу программку на VC++ 6.0 Очень прошу не игнорировать столь, возможно, простые вопросы. Есть файл базы данных (*.dbf) нужно всю информацию из него вывести в гриде. Можно канечно использовать ADO, но тогда стает вопрос как вывести не всю информацию, а, допустим, результат выборки. Подскажите пожалуйста на простом примере как правильно строить запросы и какие функции использовать чтоб можно было вывести информацию в грид с использованием sql запроса и элемента управления формы editbox'a (m_edit). Всем заранее спасибо, с уважением Евгений. моя логика: В любом случае Вы пишите некий запрос на выборку данных Вида - select id, name from SuperTale Хотите не все данные из таблица - измените запрос select id, name from SuperTale where id=2 Касаемо Jevgeniy...и элемента управления формы editbox'a (m_edit) Думается Ваш поиск неверен. Следует почитать в область CListCtrl, CListView У меня даже фантазии не хватате КАК представить данные из таблицы в EditBox-е ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 14:41 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
JevgeniyХорошо, а можно примерчик как можно реализовать? Сделал такую заготовку, и не работает :( Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. А так INSERT client(id, surname) VALUE(5, \'Иванов\') для случая id - это Number и кто-то отменил \'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 14:43 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Нет вы не совсем меня поняли. Я имел ввиду взять использовать данные из эдит бокса для построения запроса. В фокс про, например, достаточно было написать: ... where id=thisform.textbox.value ... Т.е. editbox для выборки в запросе по параметрам введнным пользователем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 14:46 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
JevgeniyНет вы не совсем меня поняли. Я имел ввиду взять использовать данные из эдит бокса для построения запроса. В фокс про, например, достаточно было написать: ... where id=thisform.textbox.value ... Т.е. editbox для выборки в запросе по параметрам введнным пользователем. int m_ID; CString m_NAME ... //Помещение в m_ID значения из Вашего Edit-а при помощи стандартных средств CString strSQL; strSQL.Format("INSERT client(id,surname) VALUE(%d,%s)",m_ID,m_NAME); ... cd->Execute(strSQL,dbFailOnError); ... Хотя ЭТОТ пример не красив, рекомендую почитать в сторону параметризируемых запросов. Не все СУБД их поддерживают. Если у Вас DBF думаю представленный подход единственно возможный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 14:52 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Почитал в литературе (хз, но чето инфы по этому моменту хрен де сыщешь :() и вот что у меня получилось. Подскажите пожалуйста по поводу объекта cd , объектом какого класса он далжен быть? Перепробовал CDatabase, CRecordset - не работает. Ошибка: error C2039: 'Execute' : is not a member of 'CDatabase'. И так со всеми классами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 15:58 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Сори за плохое оформление кода в предыдущем посте. И 2-й вопрос, а как можно вывести результат запроса в грид? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 16:27 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
пишу программу для выполнения скрипта SET TERM ^ ; CREATE OR ALTER PROCEDURE TARIFFPARCELINT ... end^ SET TERM ; ^ выдаёт ошибку Token not found Token: TERM Line number 1 пишу на С++ buildere писал проги под выполнение скриптов не содержащих TERM всё прекрасно работало З.Ы. извеняюсь что не в тему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 17:04 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Jevgeniy Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Почитал в литературе (хз, но чето инфы по этому моменту хрен де сыщешь :() и вот что у меня получилось. Подскажите пожалуйста по поводу объекта cd , объектом какого класса он далжен быть? Перепробовал CDatabase, CRecordset - не работает. Ошибка: error C2039: 'Execute' : is not a member of 'CDatabase'. И так со всеми классами. MSDN стоит? Если да - рекомендую выделить слово CDatabase и нажать F1 Вот, что у меня получилось: CDatabase::ExecuteSQLSee Also CDatabase Overview | Class Members | Hierarchy Chart | CDatabase::SetLoginTimeout | CRecordset Call this member function when you need to execute a SQL command directly. void ExecuteSQL( LPCTSTR lpszSQL ); Parameters lpszSQL Pointer to a null-terminated string containing a valid SQL command to execute. You can pass a CString. Remarks Create the command as a null-terminated string. ExecuteSQL does not return data records. If you want to operate on records, use a recordset object instead. Most of your commands for a data source are issued through recordset objects, which support commands for selecting data, inserting new records, deleting records, and editing records. However, not all ODBC functionality is directly supported by the database classes, so you may at times need to make a direct SQL call with ExecuteSQL. Example CString strCmd = "UPDATE Taxes SET Federal = 36%"; TRY { m_dbCust.ExecuteSQL( strCmd ); } CATCH(CDBException, e) { // The error code is in e->m_nRetCode } END_CATCH Нету у CDatabase метода Execute есть ExecuteSQL Собственно об этом и писали ошибки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 17:48 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
... а ежели нет MSDN, как и возможности его поставить то лучший выход - найти " .h"-файл в котором описан класс CDatabase и Там глянуть Какие у него методы. Выделить слово "CDatabase " Прав. кл. - контекстное меню - "Go to Declaration" p.s. не помню в 6-ке уже было или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 17:53 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Спасибо vanoman что наставил на пусть истинный. Вот у меня функция добавления новой записи в таблицу. Открываю окно ввожу данные. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. и в итоге мне выдается следующая ошибка: --------------------------- Microsoft Visual C++ Debug Library --------------------------- Debug Assertion Failed! Program: E:\BD\RozOffice\Debug\RozOffice.exe File: strex.cpp Line: 681 For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (Press Retry to debug the application) --------------------------- Прервать Повтор Пропустить --------------------------- Естественно записи в таблицу не добавляются. Подскажите пожалуйста в чем моя ошибка? С уважением Евгений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 22:04 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Подскажите плз как результат запроса, который находится в курсоре вывести в грид? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2007, 12:51 |
|
||
|
Отображение результата запроса в грид
|
|||
|---|---|---|---|
|
#18+
Вот моя функция полностью, подскажите плиз где я не прав? void CProjView::OnRecordNew() { if(m_pSet->CanAppend()==0) MessageBox("Çàïèñè äîáàâëÿòü íåëüçÿ", "Îøèáêà îòêðûòèÿ áàçû äàííûõ", MB_OK | MB_ICONERROR); else{ CString strCmd; CDlgClientNew dlgClientNew; if(dlgClientNew.DoModal() == IDOK){ CDatabase cd; strCmd.Format("INSERT client(id,ind_num,surname) VALUE(%c,%d,%v)",dlgClientNew.m_iId,dlgClientNew.m_iIndNum,dlgClientNew.m_strSurname); try{ cd.ExecuteSQL(strCmd); } catch(CDBException e){ AfxMessageBox(e.m_strError); } } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2007, 15:37 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34506744&tid=2028922]: |
0ms |
get settings: |
4ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 496ms |

| 0 / 0 |
