s66bahramian
دوشنبه 15 شهریور 1389, 17:43 عصر
سلام
می خواهم یک پروژه دیکشنری با c++ بنویسم و 1000 تا کلمه در پایگاه داده وارد کنم.
غیر از روش اتصال VC++ با پایگاه داده ایا مثلا می شه توربو داس را در ویندوز xp به پایگاه داده وصل کرد؟؟؟؟؟؟؟
سوال دیگه اینکه -----------------------
باید با استفاده از odbc به پایگاه داده خود ویژوال استادیو 2010 (SQL )وصل شم. نمونه دستورات را می دونم چجوری باید بنویسم . refrence دستوراتش رو هم پیدا کردم.
منتها تنظیمات اولیه اش رو که بتونم دستورات رو کامپایل کنم . نتونستم انجام بدهم.
من از ویژوال استادیو یک empty proje ساختم.
و در آن یک آیتم جدید sql script file ساختم و در فایل باز شده کلیک راست کردم و به پایگاه داده کانکت شدم(اینجا فقط یک انتخاب داشتم و مسیری در کارنبود!):
و دستورات sql را برای ساختن یک پایگاه داده نوشتم.
بعد دوباره به پروژه خودم یک آیتم جدید : .cpp اضافه کردم، برای اینکه دستورات را توش بنویسم. از نوار منوی بالا ، قسمت Tools کانکت به دیتابیس را انتخاب کردم
در قسمت data connection : ادد کانکشن را زدم و دیتا سورس اون رو Microsoft ODBC Data Source گذاشتم
http://img4u.net/images/rrf2yt2qp19r57o0wi.jpg
و نمونه دستورات ODBC هم به شکل زیر است :
مثلا یک نمونه از دستورات به شکل زیر است:
// SQLConnect_ref.cpp
// compile with: odbc32.lib
#include <windows.h>
#include <sqlext.h>
int main() {
SQLHENV henv;
SQLHDBC hdbc;
SQLHSTMT hstmt;
SQLRETURN retcode;
SQLCHAR * OutConnStr = (SQLCHAR * )malloc(255);
SQLSMALLINT * OutConnStrLen = (SQLSMALLINT *)malloc(255);
// Allocate environment handle
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
// Set the ODBC version environment attribute
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
// Allocate connection handle
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
// Set login timeout to 5 seconds
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)5, 0);
// Connect to data source
retcode = SQLConnect(hdbc, (SQLCHAR*) "NorthWind", SQL_NTS, (SQLCHAR*) NULL, 0, NULL, 0);
// Allocate statement handle
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
// Process data
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
}
SQLDisconnect(hdbc);
}
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
}
}
SQLFreeHandle(SQL_HANDLE_ENV, henv);
}
}
وقتی اجراش میکنیم تمام کتابخابخانه های که تو مسیر c:\window\sistem 32 هس ر خطا می گیره ..دسترسی بهشون نداره!
ODBC هم ورژخ 3.52 هست.
'access data.exe': Loaded 'C:\Documents and Settings\Mohsen\My Documents\Visual Studio 2010\Projects\access data\Debug\access data.exe', Symbols loaded.
'access data.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\odbc32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\comdlg32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\msvcr100d.dll', Symbols loaded.
'access data.exe': Loaded 'C:\WINDOWS\system32\lpk.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\usp10.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\odbcint.dll', Binary was not built with debug information.
The program '[420] access data.exe: Native' has exited with code 0 (0x0).
لطفا راهنماییم کنید چجوری c++ را به طور صحیح به پایگاه داده وصل کنم.خیلی فوری هست .مرسی مرسی.:عصبانی++:
از چه هدر فایل هایی باید استفاده کنیم .
می خواهم یک پروژه دیکشنری با c++ بنویسم و 1000 تا کلمه در پایگاه داده وارد کنم.
غیر از روش اتصال VC++ با پایگاه داده ایا مثلا می شه توربو داس را در ویندوز xp به پایگاه داده وصل کرد؟؟؟؟؟؟؟
سوال دیگه اینکه -----------------------
باید با استفاده از odbc به پایگاه داده خود ویژوال استادیو 2010 (SQL )وصل شم. نمونه دستورات را می دونم چجوری باید بنویسم . refrence دستوراتش رو هم پیدا کردم.
منتها تنظیمات اولیه اش رو که بتونم دستورات رو کامپایل کنم . نتونستم انجام بدهم.
من از ویژوال استادیو یک empty proje ساختم.
و در آن یک آیتم جدید sql script file ساختم و در فایل باز شده کلیک راست کردم و به پایگاه داده کانکت شدم(اینجا فقط یک انتخاب داشتم و مسیری در کارنبود!):
و دستورات sql را برای ساختن یک پایگاه داده نوشتم.
بعد دوباره به پروژه خودم یک آیتم جدید : .cpp اضافه کردم، برای اینکه دستورات را توش بنویسم. از نوار منوی بالا ، قسمت Tools کانکت به دیتابیس را انتخاب کردم
در قسمت data connection : ادد کانکشن را زدم و دیتا سورس اون رو Microsoft ODBC Data Source گذاشتم
http://img4u.net/images/rrf2yt2qp19r57o0wi.jpg
و نمونه دستورات ODBC هم به شکل زیر است :
مثلا یک نمونه از دستورات به شکل زیر است:
// SQLConnect_ref.cpp
// compile with: odbc32.lib
#include <windows.h>
#include <sqlext.h>
int main() {
SQLHENV henv;
SQLHDBC hdbc;
SQLHSTMT hstmt;
SQLRETURN retcode;
SQLCHAR * OutConnStr = (SQLCHAR * )malloc(255);
SQLSMALLINT * OutConnStrLen = (SQLSMALLINT *)malloc(255);
// Allocate environment handle
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
// Set the ODBC version environment attribute
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
// Allocate connection handle
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
// Set login timeout to 5 seconds
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)5, 0);
// Connect to data source
retcode = SQLConnect(hdbc, (SQLCHAR*) "NorthWind", SQL_NTS, (SQLCHAR*) NULL, 0, NULL, 0);
// Allocate statement handle
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
// Process data
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
}
SQLDisconnect(hdbc);
}
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
}
}
SQLFreeHandle(SQL_HANDLE_ENV, henv);
}
}
وقتی اجراش میکنیم تمام کتابخابخانه های که تو مسیر c:\window\sistem 32 هس ر خطا می گیره ..دسترسی بهشون نداره!
ODBC هم ورژخ 3.52 هست.
'access data.exe': Loaded 'C:\Documents and Settings\Mohsen\My Documents\Visual Studio 2010\Projects\access data\Debug\access data.exe', Symbols loaded.
'access data.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\odbc32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\comdlg32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\msvcr100d.dll', Symbols loaded.
'access data.exe': Loaded 'C:\WINDOWS\system32\lpk.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\usp10.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll', Cannot find or open the PDB file
'access data.exe': Loaded 'C:\WINDOWS\system32\odbcint.dll', Binary was not built with debug information.
The program '[420] access data.exe: Native' has exited with code 0 (0x0).
لطفا راهنماییم کنید چجوری c++ را به طور صحیح به پایگاه داده وصل کنم.خیلی فوری هست .مرسی مرسی.:عصبانی++:
از چه هدر فایل هایی باید استفاده کنیم .