информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаГде водятся OGRыАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Дык а что он разве не осуществляется? Ты забей на ошибку 24000, она диагностическая. Типа "записи не возвращены". 12.11.09 20:11  Число просмотров: 1415
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 12.11.09 21:29  Количество правок: 3
<"чистая" ссылка> <обсуждение закрыто>
http://msdn.microsoft.com/en-us/library/ms715413(en-us,VS.85).aspx
<programming>
[win32] как осуществить update-запрос с помощью sqlexecdirect? 12.11.09 14:32  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
Отредактировано 12.11.09 14:37  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Напиал такую функцию. Если ей подсовывать SELECT-запрос, то она работает, а если UPDATE или INSERT, то ругается: SQL_STATE=24000; Error_text: [Microsoft][Диспетчер драйверов ODBC] Недопустимое состояние курсора. В чём касяк?
BOOL CODBC::UpdateBalance(DWORD dwID, DWORD dwBalance)
{
	SQLRETURN	ret;
	char szQuery[MAXSIZE_QUERYSTR];

	wsprintf(szQuery, "UPDATE users SET balance=%d WHERE (id=%d)", dwBalance, dwID);
	
	ret = SQLExecDirect(m_hStmt, (SQLTCHAR *) szQuery, lstrlen(szQuery));
	if (SQL_SUCCESS != ret && SQL_SUCCESS_WITH_INFO != ret)
	{
 
		char Sqlstate[6], text[1000];
		SQLINTEGER NativeError;
		SQLSMALLINT len;

		if (SQL_SUCCESS != SQLGetDiagRec(SQL_HANDLE_STMT, m_hStmt, 1, (SQLCHAR *) Sqlstate, &NativeError, (SQLCHAR *) text, 1000, &len))
			return FALSE;



		m_pErrorManager->WriteError("Can't process SQLExecDirect");
		return FALSE;
	}

	return TRUE;
}

---

PS. Может быть это важно? Я использую в качестве БД файл .mdb, совместимый с Microsoft Access 97. Вот строка подключения: "DBQ=mydb.mdb;Driver={Microsoft Access Driver (*.mdb)};"
[offtopic] Кстати, чем вызвано использование ODBC, ADO удобней, ИМХО. 12.11.09 20:29  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Дык а что он разве не осуществляется? Ты забей на ошибку 24000, она диагностическая. Типа "записи не возвращены". 12.11.09 20:11  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 12.11.09 21:29  Количество правок: 3
<"чистая" ссылка> <обсуждение закрыто>
http://msdn.microsoft.com/en-us/library/ms715413(en-us,VS.85).aspx
Сорри, проблема оказалась в моей глупости. Я использовал для... 13.11.09 11:41  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Сорри, проблема оказалась в моей глупости. Я использовал для всех запросов один и тот же дескриптор, а не создавал его для каждого нового запроса, из-за этого и были проблемы. Теперь всё путём.

Почему ODBC? Потому что эта технология мне знакома, а ADO нет.
Про ADO 14.11.09 13:10  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
> Почему ODBC? Потому что эта технология мне знакома, а ADO нет.
Да, раз уж знакомо ODBC, и умеешь пользоваться -- почему бы нет...
ADO у M$ вштыривает, потому что выше уровень -- COM-объекты подключения, хранимых процедур, рикордсеты, с ними проще работать, особенно в тех средах, где работа с COM/ActiveX простая.
C/C++ чтот не очень радует простотой работой с COM, хотя тем, кто грызёт ODBC, он наверное покажется гораздо проще.
Ясно. Спасибо 19.11.09 03:46  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach