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

c鏈接資料庫sql

發布時間: 2023-08-16 20:46:40

1. sql資料庫怎麼和c語言聯系

連接到SAMPLE資料庫,查詢LASTNAME為JOHNSON的FIRSTNAME信息。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "util.h"
#include <sqlca.h>``
EXEC SQL INCLUDE SQLCA;

main()
{
EXEC SQL BEGIN DECLARE SECTION;

char firstname[13];
char userid[9];
char passwd[19];
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT TO sample;

EXEC SQL SELECT FIRSTNME INTO :firstname

FROM employee
WHERE LASTNAME = 'JOHNSON';
printf( "First name = %s\n", firstname );
EXEC SQL CONNECT RESET;
return 0;
}
上面是一個簡單的靜態嵌入SQL語句的應用程序。它包括了嵌入SQL的主要部分:
(1)中的include SQLCA語句定義並描述了SQLCA的結構。SQLCA用於應用程序和資料庫之間的通訊,其中的SQLCODE返回SQL語句執行後的結果狀態。
(2)在BEGIN DECLARE SECTION和END DECLARE SECTION之間定義了宿主變數。宿主變數可被SQL語句引用,也可以被C語言語句引用。它用於將程序中的數據通過SQL語句傳給資料庫管理器,或從資料庫管理器接收查詢的結果。在SQL語句中,主變數前均有「:」標志以示區別。
(3)在每次訪問資料庫之前必須做CONNECT操作,以連接到某一個資料庫上。這時,應該保證資料庫實例已經啟動。
(4)是一條選擇語句。它將表employee中的LASTNAME為「JOHNSON」的行數據的FIRSTNAME查出,並將它放在firstname變數中。該語句返回一個結果。可以通過游標返回多個結果。當然,也可以包含update、insert和delete語句。
(5)最後斷開資料庫的連接。
從上例看出,每條嵌入式SQL語句都用EXEC SQL開始,表明它是一條SQL語句。這也是告訴預編譯器在EXEC SQL和「;」之間是嵌入SQL語句。如果一條嵌入式SQL語句佔用多行,在C程序中可以用續行符「\」。

2. 用C語言怎麼實現與資料庫的連接

#include<mysql/mysql.h>

#include<stdio.h>

intmain()

{

MYSQL*conn;

MYSQL_RES*res;

MYSQL_ROWrow;

char*server="localhost";//本地連接

char*user="root";//

char*password="525215980";//mysql密碼

char*database="student";//資料庫名

char*query="select*fromclass";//需要查詢的語句

intt,r;

conn=mysql_init(NULL);

if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0))

{

printf("Errorconnectingtodatabase:%s ",mysql_error(conn));

}else{

printf("Connected... ");

}

t=mysql_query(conn,query);

if(t)

{

printf("Errormakingquery:%s ",mysql_error(conn));

}else{

printf("Querymade... ");

res=mysql_use_result(conn);

if(res)

{

while((row=mysql_fetch_row(res))!=NULL)

{

//printf("num=%d ",mysql_num_fields(res));//列數

for(t=0;t<mysql_num_fields(res);t++)

printf("%8s",row[t]);

printf(" ");

}

}

mysql_free_result(res);

}

mysql_close(conn);

return0;

}

(2)c鏈接資料庫sql擴展閱讀

C語言使用注意事項:

1、指針是c語言的靈魂,一定要靈活的使用它:

(1)、指針的聲明,創建,賦值,銷毀等

(2)、指針的類型轉換,傳參,回調等

2、遞歸調用也會經常用到:

(1)、遞歸遍歷樹結構

(2)、遞歸搜索

3. c/c++怎麼連接資料庫,並執行SQL語句

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)

4. 如何連接sqlserver資料庫

遠程連接sql server 2000伺服器的解決方案

一、 看ping 伺服器ip能否ping通。
這個實際上是看和遠程sql server 2000伺服器的物理連接是否存在。如果不行,請檢查網路,查看配置,當然得確保遠程sql server 2000伺服器的IP拼寫正確。拆段

二 、在Dos或命令行下輸入telnet 伺服器IP 埠,看能否連通。
如telnet 202.114.100.100 1433

通常埠值是1433,因為1433是sql server 2000的對於Tcp/IP的默認偵聽埠。如果有問題,通常這一步會出問題。通常的提示晌敗是「……無法打開連接,連接失敗"。
如果這一步有問題,應該檢查以下選項。

1. 檢查遠程伺服器是否啟動了sql server 2000服務。如果沒有,則啟動。

2. 檢查伺服器端有沒啟用Tcp/IP協議,因為遠程連接(通過網際網路)需要靠這個協議。檢查方法是,在伺服器上打開 開始菜單->程序->Microsoft SQL Server->伺服器網路實用工具,看啟用的協議里是否有tcp/ip協議,如果沒有,則啟用它。

3. 檢查伺服器的tcp/ip埠是否配置為1433埠。仍然在伺服器網路實用工具里查看啟用協議裡面的tcp/ip的屬性,確保默認埠為1433,並且隱藏伺服器復選框沒有勾上。
事實上,如果默認埠被修改,也是可以的,但是在客戶端做telnet測試時,寫伺服器埠號時必須與伺服器配置的埠號保持一致。如果隱藏伺服器復選框被勾選,則意味著客戶端無法通過枚舉伺服器來看到這台伺服器,起到了保護的作用,但不影響連接,但是Tcp/ip協議的默認埠將被隱式修改為2433,在客戶端連接時必須作相應的改變。

4. 如果伺服器端操作系統打過sp2補丁,則要對windows防火牆作一定的配置,要對它開放1433埠,通常在測試時可以直接關掉windows防火牆(其他的防火牆也關掉最好)。
5. 檢查伺服器是否在1433埠偵聽。如果伺服器沒有在tcp連接的1433埠偵聽,則是連接不上的。檢查方法是在伺服器的dos或命令行下面輸入
netstat -a -n 或者是netstat -an,在結果列表裡看是否有類似 tcp 127.0.0.1 1433 listening 的項。如果沒有,則通常需要給sql server 2000打上至少sp3的補丁。其實在伺服器端啟動查詢分析器,輸入 select @@version 執行後可以看到版本號,版本號在8.0.2039以下的都需要打補丁。

如果以上都沒問題,這時再做telnet 伺服器ip 1433 測試,將會看到屏幕一閃之後游標在左上角不停閃動。恭喜,馬上可以開始在企業管理器或查詢分析器連接了。

三、 檢查客戶端設置

程序->Microsoft SQL Server -> 客戶端網路使用工具。像在伺服器網路實用工具里一樣,確保客戶端tcp/ip協議啟用,並且默認埠為1433(或其他埠,與宴御顫伺服器端保持一致就行)。

四、 在企業管理器里或查詢那分析器連接測試

企業管理器->右鍵SQlserver組->新建sqlserver注冊->下一步->寫入遠程IP->下一步->選Sqlserver登陸->下一步->寫入登陸名與密碼(sa,password)->下一步->下一步->完成
查詢分析器->文件->連接->寫入遠程IP->寫入登錄名和密碼(sa,password)->確定

通常建議在查詢分析器里做,因為默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是4秒,而查詢分析器是15秒。
修改默認連接超時的方法:

企業管理器->工具->選項->在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡->連接設置->在 登錄超時(秒) 後面的框里輸入一個較大的數字

查詢分析器->工具->選項->連接->在 登錄超時(秒) 後面的框里輸入一個較大的數字
通常就可以連通了,如果提示錯誤,則進入下一步。

五、 錯誤產生的原因通常是由於SQL Server使用了"僅 Windows"的身份驗證方式,因此用戶無法使用SQL Server的登錄帳戶(如 sa )進行連接。解決方法如下所示:

1. 在伺服器端使用企業管理器,並且選擇"使用 Windows 身份驗證"連接上 SQL Server。
2. 展開"SQL Server組",滑鼠右鍵點擊SQL Server伺服器的名稱,選擇"屬性",再選擇"安全性"選項卡。

3. 在"身份驗證"下,選擇"SQL Server和 Windows "。

4. 重新啟動SQL Server服務。(在dos或命令行下面net stop mssqlserver停止服務,net start mssqlserver啟動服務,也是一種快捷的方法)。

附註:在連接本地伺服器時,通常使用的是命名管道協議(在伺服器網路實用工具里可以看到啟用的協議有這個),默認埠是445,因此在本地能連通是不能說明什麼問題的,連接遠程伺服器是完全不同的協議)

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

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

6. c語言怎樣連接資料庫(c語言和資料庫連接)

1、配置ODBC數據源。

2、使用SQL函數進行連接。

對於1、配置數據源,配置完以後就可以編程操作資料庫了。

對於2、使用SQL函數進行連接,參考代碼如下:

#include

#include

#include

voidmain()

{

HENVhenv;//環境句柄

HDBChdbc;//數據源句柄

HSTMThstmt;//執行語句句柄

unsignedchardatasource[]="數據源名稱";//即源中設置的源名稱

unsignedcharuser[]="用戶名";//數襲此據庫的帳戶拍野迅名

unsignedcharpwd[]="密碼";//資料庫的密碼

unsignedcharsearch[]="selectxmfromstuwherexh=0";

SQLRETURNretcode;//記錄各SQL函數的返回情況

//分配環境句柄

retcode=SQLAllocEnv(&henv);//等介於(SQL_HANDLE_ENV,SQL_NULL

,&henv);

//設置ODBC環境版本號為3.0

retcode=(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);

//分配連接句柄

retcode=(henv,&hdbc);//等介於(SQL_HANDLE_DBC,henv,&hdbc);

//設置連接屬性,登錄超時為*rgbValue秒(可以沒有)

//(hdbc,SQL_LOGIN_TIMEOUT,(SQLPOINTER)(rgbValue),0);

//直接連接數據源

//如果是windows身份驗證,第二、三參數可以是

,也可以是任何字串

//SQL_NTS即"

retcode=SQLConnect(hdbc,datasource,SQL_NTS,user,SQL_NTS,pwd,SQL_NTS);

//分配語句句柄

retcode=(hdbc,&hstmt);//等介於(SQL_HANDLE_STMT,hdbc,&hstmt);

//直接執行查詢語句

retcode=(hstmt,search,SQL_NTS);

//將數據緩沖區綁定資料庫中的相應脊塵欄位(i是查詢結果集列號,queryData是綁定緩沖區,BUFF_LENGTH是緩沖區長度)

SQLBindCol(hstmt,i,SQL_C_CHAR,queryData[i-1],BUFF_LENGTH,0);

//遍歷結果集到相應緩沖區queryData

SQLFetch(hstmt);

/*

*對遍歷結果的相關操作,如顯示等

*/

//注意釋放順序,否則會造成未知錯誤!

(SQL_HANDLE_STMT,hstmt);

(hdbc);

(SQL_HANDLE_DBC,hdbc);

(SQL_HANDLE_ENV,henv);

}

7. visualstudio連接資料庫sqldatassourc

1、在MicrosoftVisualStudio中打開一個網站,添加一個ASP.NET頁(Web窗體),並切換到設計視圖。
2、從工具箱的數據組中,將SqlDataSource控制項拖動到頁面上。
3、在SqlDataSource任務快捷菜單上,單擊配置運配嘩數據源-<數據源名稱>。SqlDataSource任務快捷菜單未顯示,請右擊T:System.Web.UI.WebControls.SqlDataSource控制項,然後單擊配置數據源。
4、單擊新建連接。出現選擇數據源對話框,請單擊MicrosoftSQLServer,然後單擊繼續。
5、在添加連接對話框中,單擊更改。旁行
6、在更改數據源對話框中,單擊MicrosoftSQLServer,然後單擊確定。
7、在伺服器名稱框中,輸入SQLServer資料庫的名稱,然後在登錄到伺服器下面輸入登錄憑據。
8、在選擇或輸入一個資料庫名列表中,請輸入該伺服器上的一個有效資料庫的名稱
9、(可選)單擊測試連接驗證該連接是否有效。
10、單擊確定。請注意,配置數據源-數據源名稱對話框中選定了新的連接。
11、單擊下一步。
12、選擇是,將此連接另存為,輸入在應用程序配置文件中保存該連接時使用的名稱,然後單擊下一步。
13、選擇要從中檢索結果的資料庫表、視圖或存儲過程,或指定自己的SQL語句。
14、(可選)單擊WHERE提供搜索條件,單擊ORDERBY指定排序順序。
15、要測試查詢,請單擊下一步,然後單擊測試查詢。
16、單擊完成。現在,可以將數據綁定控制項(GridView控制項)拖動到頁面上,並賣蔽將SqlDataSource控制項指定為數據源。

熱點內容
計算機代碼經典編程 發布:2025-02-05 19:25:09 瀏覽:755
安卓抖音怎麼換不了白色背景 發布:2025-02-05 19:11:16 瀏覽:810
安卓手機如何變成手寫 發布:2025-02-05 19:11:14 瀏覽:979
esp32搭建自己的伺服器 發布:2025-02-05 18:58:00 瀏覽:318
wampphp升級 發布:2025-02-05 18:50:53 瀏覽:920
源碼地帶 發布:2025-02-05 18:46:37 瀏覽:615
我的世界伺服器怎麼騎別人的頭 發布:2025-02-05 18:46:32 瀏覽:90
怎麼卸載ftp賬號 發布:2025-02-05 18:41:52 瀏覽:63
SQL指定的服務並未以 發布:2025-02-05 18:40:09 瀏覽:974
電腦連接不了伺服器什麼意思 發布:2025-02-05 18:34:46 瀏覽:356