❶ 我的寫一段VC的程序,通過odbc連接sql2000的,打開資料庫openex()函數,在debug時候出出現下面的錯誤:
有時候C就會報寫奇怪的東西出來,
你把CDatabase database初始化下試試.
❷ VC6.0建立的基於對話框的應用程序使用ODBC連接SQL,其中的查詢功能怎麼寫
首先配置Sql2005:1.配置SQLServer外圍應用伺服器,開啟SQLServer2005遠程連接功能:「配置工具」->「SQLServer外圍應用配置器」->選擇「服務和連接的外圍拍盯應用配置器」->選擇DatabaseEngine節點下的「遠程連接」->選擇「本地連接和遠程連接」->選擇「同時使用TCP/IP和namedpipes」->點擊確定,重新啟動資料庫服務。2.把登陸設置改為SQLServer和Windows身份驗證模式:打開SQLServerManagementStudio管理器,點擊伺服器上面右鍵然後查看屬性,在安全性選項裡面對服務身份驗證選擇「SQLServer和Windows身份驗證模式」。3.修改SQLServersa的密碼:在SQLServerManagementStudio管理器中,伺服器上的「安全性」->登陸名->在sa帳號上點右鍵屬性,這樣在「常規」的選擇頁中更改sa登陸帳號的密碼。注意SQLServer2005中,不允許密碼設置簡單,否則會通不過。然後在選擇頁的「狀態」的登錄修改為啟用。4.設置SQLServer的埠號在SQLServerConfigurationManager管理器中,項目->單擊下面的Protocolsfor'dbname'->在右側的窗口中,右鍵單擊"TCP/IP"項,選擇"屬性"->打開"TCP/IPproperties"窗口->單擊"IPAddress"選項卡->將所中賀襲有IP地址下面的"TCPPort"值設置成14335.確保開啟SQLServer服務在SQLServerConfigurationManager管理器中,選中SQLServer2005Services,在右側的窗口中啟動SQLServer('YourInstance'),6.修改連接字元串,在字元串中加入SQlServer服務的埠號.strConnection.Format("driver={SQLServer};Server=xx.xx.xx.xx,1433;DATABASE=mydatabase;UID=name;PWD=pwd");7.連接coder:stdafx.h中引用:#import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","adoEOF")添加方法://錯誤處理的inlinevoidTESTHR(HRESULT_hr){ifFAILED(_hr)_com_issue_error(_hr);}voidinitADO(){try{_RecordsetPtrpRs("ADODB.Recordset");_ConnectionPtrpCn("ADODB.Connection");_variant_tvtTableName("authors"),vtCriteria;longix[1];SAFEARRAY*pSa=NULL;pCn->Open("Provider=SQLOLEDB;Server=127.0.0.1,1433;Database=MyTest;UserID=sa;pwd=sa;IntegratedSecurity=SSPI","","",adModeUnknown);//Note2,Note3pSa=SafeArrayCreateVector(VT_VARIANT,1,4);if(!pSa)_com_issue_error(E_OUTOFMEMORY);//為第三個元素賦值TABLE_NAME(索引值2).ix[0]=2;TESTHR(SafeArrayPutElement(pSa,ix,&vtTableName));//由於Variant沒有SafeArray的構造函數,所以手工設置Variant的數據類型和值。vtCriteria.vt=VT_ARRAY|VT_VARIANT;vtCriteria.parray=pSa;pRs=pCn->OpenSchema(adSchemaColumns,vtCriteria,vtMissing);longlimit=pRs->GetFields()->Count;for(longx=0;xGetFields()->Item[x]->Name));//賣兄Note4pRs->Close();pCn->Close();AfxMessageBox(_T("成功"));}catch(_com_error&e){printf("Error:\n");printf("Code=%08lx\n",e.Error());printf("Codemeaning=%s\n",(char*)e.ErrorMessage());printf("Source=%s\n",(char*)e.Source());printf("Description=%s\n",(char*)e.Description());AfxMessageBox(_T("初始化失敗"));}CoUninitialize();}//錯誤處理的inlinevoidTESTHR(HRESULT_hr){ifFAILED(_hr)_com_issue_error(_hr);}voidinitADO(){try{_RecordsetPtrpRs("ADODB.Recordset");_ConnectionPtrpCn("ADODB.Connection");_variant_tvtTableName("authors"),vtCriteria;longix[1];SAFEARRAY*pSa=NULL;pCn->Open("Provider=SQLOLEDB;Server=127.0.0.1,1433;Database=MyTest;UserID=sa;pwd=sa;IntegratedSecurity=SSPI","","",adModeUnknown);//Note2,Note3pSa=SafeArrayCreateVector(VT_VARIANT,1,4);if(!pSa)_com_issue_error(E_OUTOFMEMORY);//為第三個元素賦值TABLE_NAME(索引值2).ix[0]=2;TESTHR(SafeArrayPutElement(pSa,ix,&vtTableName));//由於Variant沒有SafeArray的構造函數,所以手工設置Variant的數據類型和值。vtCriteria.vt=VT_ARRAY|VT_VARIANT;vtCriteria.parray=pSa;pRs=pCn->OpenSchema(adSchemaColumns,vtCriteria,vtMissing);longlimit=pRs->GetFields()->Count;for(longx=0;xGetFields()->Item[x]->Name));//Note4pRs->Close();pCn->Close();AfxMessageBox(_T("成功"));}catch(_com_error&e){printf("Error:\n");printf("Code=%08lx\n",e.Error());printf("Codemeaning=%s\n",(char*)e.ErrorMessage());printf("Source=%s\n",(char*)e.Source());printf("Description=%s\n",(char*)e.Description());AfxMessageBox(_T("初始化失敗"));}CoUninitialize();}這個代碼你修改下就可以了
❸ vc6.0通過odbc連接sql資料庫的時候可以連接一個資料庫里的多個表嗎
感覺應該是基本的概念判慧有些不清楚,odbc是一種連接方法,odbc的建立過程:
① 建立一個env,一個env對應多個連接;
② 一個資料庫可以建掘燃答立多個連接,或者多個連接對應一個資料庫
③ 一個連接可以對應多個stmt,一個stmt可以對用不同的資料庫執行語句;
希望對段嫌你有用,我是ndk吧的吧主,有問題可以到ndk吧來找我,謝謝!
❹ vc odbc 連接oracle 資料庫請高手指點下啊
用歷燃下肢鎮虛面的方法試試:
打開SQLPLUS,直接在用戶名輸入框中輸入下面的旅纖內容(用戶名、密碼根據你實際的填寫),保留其他輸入框空白,然後回車。
用戶名/密碼@192.168.1.130:1521/orcl
❺ 初學:VC6.0用ODBC已經連接好資料庫,並且可以顯示,但是無法實現教材上的查詢功能
建議棗行模帶茄: 提示:在公式的復制過程中凳緩,系統會智能化地更改公式中相應的單元格,不需要我們去一一修改了,非常方便。
❻ 在VC++中如何用ODBC實現與資料庫的鏈接
VC++6.0中用ODBC連接mysql資料庫
這是我上學期做資料庫課程設計時參考一文章。
如果要把信息以表格形式表示,建議看看螞岩CRecordView類的使用
----------------------------------------
你是說注冊資料庫源嗎? 有鄭春個函數可以實現自動注冊資料庫源 在我空間里有我當時寫的一篇文章,你可以去看看
----------------------------------------
至於你說的,你用的是sql資料庫根本都沒關悶叢御系的
我給你的那篇文章,裡面講的是用基本的sql語句訪問資料庫,無論什麼系統都行,當時我課程設計用的也是sql2000,但是還是從裡面照搬了許多代碼
❼ vc下用odbc連接mysql
::SQLConfigDataSource(NULL,ODBC_ADD_DSN,"SQL Server","DSN=aaa\0 SERVER=(Local)\0
DATABASE=mydb\0\0"); //odbc中添則型加一個數據源,數據源名稱:aaa,本地服孫答猜務器,資料庫名:mydb
try
{
CDatabase m_DbOdbc; //創建資料庫對象
m_DbOdbc.OpenEx("舉睜DSN=aaa;UID=user;PWD=pa;",CDatabase::noOdbcDialog); //鏈接並打開資料庫
}
catch(CDBException *e)
{
return FALSE;
}
要包含頭文件
#include <odbcinst.h>
#include <afxdb.h>
❽ VC++6.0使用ODBC連接SQL資料庫創建ODBC數據源完成。之後怎麼做就是怎麼在VC上的操作。做個有界面的小程序
新建mfc項目,選擇對話框還是單文檔的,然後在界面上拖控制項,至於添加數據源-首先選擇類視圖(classView)右鍵添加類譽腔,然後在彈出的對話框中添加類名稱,在李大「base class」上哪虛豎選擇CRecordSet就能添加數據表的數據集了
❾ vc++中通過ODBC訪問資料庫中的表,只能訪問一個表嗎
要用ODBC同時訪岩賀問幾個表就要創造幾個CRecordset的對象。如,要同事訪問兩個,就得:
CRecordset rs1(&db),rs2(&db)
rs1.open`````````
rs2.open`````````
用一個對象去含棗衡訪談做問兩個表,當然不行啦
❿ 在vc中我用odbc連接資料庫,怎麼獲取資料庫中datetime類型的值呢
轉型,或者是string類型