當前位置:首頁 » 編程語言 » c連接sqlserver資料庫

c連接sqlserver資料庫

發布時間: 2025-04-27 06:02:56

1. c++中怎麼連接sqlserver

C++連接SQL資料庫第一步 系統配置
1.設置SQLSERVER伺服器為SQL登錄方式,並且系統安全性中的sa用戶要設置登錄功能為「啟用」,還有必須要有密碼。
2.需要在ODBC中進行數據源配置,數據源選\」SQL SERVER」,登錄方式使用「使用輸入用戶登錄ID和密碼的SQL SERVER驗證」,並填寫登錄名(sa)和密碼,注意一點,密碼不能為空,這就意味著你的sa用戶必須得有密碼。否則無法通過系統本身的安全策略。測試通過就完成了配置。
C++連接SQL資料庫第二步 C++與SQL連接初始化
1.在你所顫清建立的C++項目中的stdafx.h頭文件中引入ADO
具體代碼如下
#import 「c:\Program Files\Common Files\System\ado\msado15.dll」
no_namespace rename(」EOF」, 「adoEOF」) rename(」BOF」, 「adoBOF」)
2.定義_ConnectionPtr變數後調用Connection對象的Open方法建立與伺服器的連接。
數據數穗類型_ConnectionPtr實際上是由類模板_com_ptr_t得到的一個具體的實例類。_ConnectionPtr類封裝了Connection對象的Idispatch介面指針及其一些必要的操作。可以通過這個指針操縱Connection對象。薯洞卜
例如連接SQLServer資料庫,代碼如下:
//連接到MS SQL Server
//初始化指針
_ConnectionPtr pMyConnect = NULL;
HRESULT hr = pMyConnect.CreateInstance(__uuidof(Connection));
if (FAILED(hr))
return;
//初始化鏈接參數
_bstr_t strConnect = 「Provider=SQLOLEDB;
Server=hch;
Database=mytest;
uid=sa; pwd=sa;」; //Database指你系統中的資料庫
//執行連接
try
{
// Open方法連接字串必須四BSTR或者_bstr_t類型
pMyConnect->Open(strConnect, 「」, 「」, NULL);
}
catch(_com_error &e)
{
MessageBox(e.Description(), 「警告」, MB_OK|MB_ICONINFORMATION);
}//發生鏈接錯誤

C++連接SQL資料庫第三步 簡單的數據連接
//定義_RecordsetPtr變數,調用它Recordset對象的Open,即可打開一個數據集
//初始化過程 以下是個實例
_RecordsetPtr pRecordset;
if (FAILED(pRecordset.CreateInstance(__uuidof(Recordset))))
{
return;
}
//執行操作
try
{
pRecordset->Open(_variant_t(」userinfo」),
_variant_t((IDispatch*)pMyConnect),
adOpenKeyset, adLockOptimistic, adCmdTable);
}
catch (_com_error &e)
{
MessageBox(」無法打開userinfo表\」, 「系統提示」,
MB_OK|MB_ICONINFORMATION);
}

C++連接SQL資料庫第四步 執行SQL語句
這里是關鍵,我認為只要你懂點SQL語句那麼一切都會方便許多比用上面的方法簡單,更有效率點。
首先
m_pConnection.CreateInstance(_uuidof(Connection));
//初始化Connection指針
m_pRecordset.CreateInstance(__uuidof(Recordset));
//初始化Recordset指針
CString strSql=」select * from tb_goods」;//具體執行的SQL語句
m_pRecordset=m_pConnection->Execute(_bstr_t(strSql),
NULL, adCmdText);//將查詢數據導入m_pRecordset數據容器
至此 你的SQL語句已經執行完成了m_pRecordset內的數據就是你執行的結果。
取得記錄:
while(!m_pRecordset->adoEOF)//遍歷並讀取name列的記錄並輸出
{
CString temp = (TCHAR *)(_bstr_t)m_pRecordset->GetFields()->GetItem
(」name」)->Value;
AfxMessageBox(temp);
pRecordset->MoveNext();
}

插入記錄
//記得初始化指針再執行以下操作
CString strsql;
strsql.Format(」insert into tb_goods(no,name, price)
values(』%d』,'%s』, %d)」,m_intNo,m_strName,m_intPrice);
m_pRecordset=m_pConnection->
Execute(_bstr_t(strsql),NULL,adCmdText);

修改記錄
CString strsql;
strsql.Format(」update tb_goods set name=』%s』 ,
price=%d where no=%d 「,m_strName,m_intPrice,m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText);

刪除記錄
CString strsql;
strsql.Format(」delete from tb_goodswhere no= 『%d』 「,m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText)

2. Wincc的C腳本如何連接到遠程SQLServer資料庫具體代碼如何

1、建立存儲
CREATE PROCere[owner.]procerename[;number]

[[(]@parameter_name datatype[=default][OUTput]

[,@parameter_name datatype[=default][OUTput]]...[)]]

[WITH RECOMPILE]

AS SQL_statements

2、存儲規則:

[EXECute][@return-status=]

[[[server.]database.]owner.]procerename[;number]

[[@parameter_name=]value|[@parameter_name=]@varialbe[OUTput]

[,[@parameter_name=]value|[@parameter_name=]@variable[OUTput]...]]

[WITH RECOMPILE]

3. c#怎麼和sql資料庫連接

1、打開Visual Studio 2008工具,點擊文件菜單,選擇新建下面的項目選項,如下圖所示。

4. 請問如何配置ODBC連接遠程的SQLServer資料庫

這好像不是你資料庫設置的問題,而是區域網的問題,你試試看,在控制面板>管理工具>本地安全策略,中啟動你和對方的guest帳號,網路訪問方式改為經典-本地訪問 ,在拒絕從網路訪問這台計計算機中刪除所有的,拒絕做為伺服器登陸中清空所有的,然後關閉windows防火牆,區域網內winXP()的訪問是個經常困擾大家的不大不小的問題,上次說我不夠詳細,你現在可以按以下的方法試一下,如果不成功,也可照此方法來解決區域網中經常出現的莫名奇妙的錯誤!我也是做DBMS的,出現的很多問題,貌似資料庫故障,其實不然!

一、首先啟用guest來賓帳戶;

二、控制面板→管理工具→本地安全策略→本地策略→用戶權利指派里,「從網路訪問此計算機」中加入guest帳戶,而「拒絕從網路訪問這台計算機」中刪除guest帳戶;

三、我的電腦→工具→文件夾選項→查看→去掉「使用簡單文件共享(推薦)」前的勾;

四、設置共享文件夾;

五、控制面板→管理工具→本地安全策略→本地策略→安全選項里,把「網路訪問:本地帳戶的共享和安全模式」設為「僅來賓-本地用戶以來賓的身份驗證」(可選,此項設置可去除訪問時要求輸入密碼的對話框,也可視情況設為「經典-本地用戶以自己的身份驗證」);

六、右擊「我的電腦」→「屬性」→「計算機名」,該選項卡中有沒有出現你的區域網工作組名稱,如「work」等。然後單擊「網路 ID」按鈕,開始「網路標識向導」:單擊「下一步」,選擇「本機是商業網路的一部分,用它連接到其他工作著的計算機」;單擊「下一步」,選擇「公司使用沒有域的網路」;單擊「下一步」按鈕,然後輸入你的區域網的工作組名,如「work」,再次單擊「下一步」按鈕,最後單擊「完成」按鈕完成設置。

一般經過以上步驟,基本可以解決。如果不行,再往下看:

七、檢查本地連接是否被禁用,右擊「本地連接」→「啟用」;

八、關閉網路防火牆;

九、檢查是否啟用了域,是否加入了該域並檢查域設置;

十、檢查是否關閉了server服務;

十一、檢查本地連接IP、子網掩碼、網關及DNS設置是否有誤;

十二、「本地連接」→屬性→常規,檢查是否安裝了「Microsoft網路文件和列印機共享」、「Microsoft網路客戶端」以及TCP/IP協議;

十三、某些區域網游戲和軟體須安裝NetBEUI協議。而且網上有文章說,在小型區域網中,微軟在WinXP中只支持的TCP/IP協議和NWLink IPX/SPX/NetBIOS兼容協議表現不盡如人意,在小型區域網(擁有200台左右電腦的網路)中NetBEUI是佔用內存最少、速度最快的一種協議。

安裝方法:

①放入Windows XP安裝光碟,到「 et etbeui」目錄下將Netnbf.inf復制C:WindowsINF中;

②將Nbf.sys復制到C:WindowsSystem32Drivers中;

③開始→控制面板→網上鄰居」→「網路連接」→「本地連接」(就是你目前使用中的區域網連接)上按右鍵→「屬性」→「常規」→「安裝」→「通訊協議」→→「添加」,此時就可以看到「NetBEUI Protocol」這一項(此項原來是沒有的),選取NetBEUI之後,按確定就OK了。

十四、作為網路瀏覽伺服器的電腦由於病毒、配置低運行慢以及死機等原因導致網路上的計算機列表得不到更新,使得某些機器有時候在網上鄰居中找不到。

解決辦法:最簡單的辦法是重啟各種網路設備和電腦,或者關閉個別有上述問題的電腦上的網路瀏覽伺服器功能,方法如下:

win2000/XP下禁用Computer Browser服務

十五、給系統打上補丁。WinXP訪問網上鄰居的速度較慢,這是WinXP的一個Bug,當我們打開網上鄰居時,操作系統首先會從計劃任務中進行查找,因此就大大影響了訪問的速度,除非您已經安裝了SP1補丁才不會存在這個問題。

可以手工解決這一問題。從注冊表中找到「HKEY_LOCAL_MACHINE

」,這里有一個名為「{D6277990-4C6A-11CF-8D87-}」的子鍵,該子鍵指向「計劃任務(Scheled Tasks)」,將它直接刪除即可。

十六、先卸載網卡驅動,重啟再重裝;

十七、硬體問題,檢查網卡、網線、集線器、路由器等,在檢查之前,最好先重啟一下網路設備(集線器、交換機、路由器)看能否解決;

十八、病毒(木馬)原因。升級病毒庫安全模式下全盤殺毒。

5. 連接SQL Server ODBC數據源是說連接不成功 在創建新的數據源 單擊下一步時出錯

盡管以前連過,這次仍花費了N多時間查資料,配置,現在把詳細步驟貼給大家,分享之。

一,JDBC-ODBC橋的方法,這種方法最簡單了。

1,新建一個資料庫,為student吧,再在其中新建一張表命名為info,添加一些數據(方便觀察效果),下面我們配置數據源
開始----控制面板----管理工具----數據源-----添加----選中「SQL Server」----完成
把默認的資料庫改為student。點「下一步」----完成----「測試數據源」,如果提示成功,OK,數據源配置好了!代碼如下:import java.sql.*;

public class q
{
public static void main(String[] args)
{
String sql;
Connection conn;
Statement stmt;
ResultSet rs;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:student";
String user="sa";
String password="";
conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
sql="select * from info";
rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}編譯運行如圖:上面的結果是我info裡面的欄位。OK?成功了吧?二,JDBC連接1,下載jdbc:
下載:SQL Server 2000 SP3,同樣到Microsoft的網站去下載升級包,~~~~~~~~~~~~~~~~~~關鍵開始~~~~~~~~~~~~~~~~~~~~,下載其中的chs_sql2ksp3.exe,注意下載下來的是chs_sql2ksp3.exe文件,雙擊它選擇安裝到一個目錄時是在解壓,然後你還要到那個目錄下雙擊setup.bat批處理文件才是開始安裝(應該說是升級)!!!具體下載地址是:
~~~~~~~~~~~~~~~~~~~~關鍵結束~~~~~~~~~~~~~~~~~~~~~~~~~註:我一直是這個原因,裝錯補訂了,我曾經裝過SP3a,SP4,結果都不行!2,安裝JDBC,把其安裝目錄下的lib下的三個文件添加到classpath中,這個網上都有很多。我的是:C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;添加完成後,安裝SP3補訂,也就是剛才下的那個文件,可能需要重啟,我給忘了。3,現在就是代碼了,如下:import java.sql.*;public class L
{
public static void main(String[] args)
{
String sql;
Connection conn;
Statement stmt;
ResultSet rs;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
String user="sa";
String password="";
conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
sql="select * from info";
rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

熱點內容
linux初始化mysql資料庫 發布:2025-04-27 15:16:46 瀏覽:943
qq音樂密碼能設置多少位 發布:2025-04-27 14:59:43 瀏覽:165
胸椎椎體壓縮骨折 發布:2025-04-27 14:59:36 瀏覽:986
怎麼配置代理解決跨域 發布:2025-04-27 14:58:46 瀏覽:297
tvapp緩存目錄 發布:2025-04-27 14:53:43 瀏覽:940
mt5編譯器mt4可以用嗎 發布:2025-04-27 14:47:19 瀏覽:728
實地雲伺服器好不好用 發布:2025-04-27 14:30:41 瀏覽:507
蘋果qq瀏覽器怎麼緩存 發布:2025-04-27 14:28:58 瀏覽:575
卡羅拉車型建議買哪個配置 發布:2025-04-27 14:07:07 瀏覽:509
酸性固體培養基怎麼配置 發布:2025-04-27 14:06:24 瀏覽:136