本文通過舉例介紹ADO.NET資料庫連接、操作SQL。包括創建類,加入SQL命名空間以及類中申明對象等內容。 1.創建類datasource.cs2.加入SQL命名空間(可以使用SQL資料庫語句):using System.Data.SqlClient3.類中申明對象:(string)ConnString 連接字元串、(SqlConnection)SqlConn 連接SQL資料庫、(SqlCommand)SqlCmd 調用SQL語句的方式 、(SqlDataAdapter)SqlAdapter 連接SQL數據適配器、(DataSet)ds 建立數據集、(SqlDataReader)SqlReader 讀取資料庫。4.在構造函數中初始化實例對象:
public datasource()
{
ConnString = ConfigurationManager.ConnectionStrings["某數據源"].ConnectionString;SqlConn = new SqlConnection(ConnString);SqlCmd = new SqlCommand();SqlAdpter = new SqlDataAdapter();ds = new DataSet();
}5.創建一些數據集和資料庫SQL操作的方法(1)創建一個內存數據集,使用傳入的SQL查詢語句參數
public DataSet Tds(string QueryString)
{
SqlAdpter.SelectCommand = new SqlCommand(QueryString, SqlConn);
SqlAdpter.Fill(ds, "temp"); //temp是一個內存數據表
return ds;
}(2)創建一個內存數據集,不使用任何參數。
public DataSet Tds()
{
//使用SQL語句來代替這個參數
SqlAdpter.SelectCommand = new SqlCommand("select * from abc", SqlConn);
//temp是一個內存數據表
SqlAdpter.Fill(ds,"temp");
return ds;
}(3)返回一個只讀的輕量級數據源,注意,它不支持服務端的分頁,而且需要數據連接必須一直打開
public SqlDataReader Tsdr()
{
//SqlCommand屬性CommandText是一條SQL語句
SqlCmd.CommandText = "select * from abc";
//SqlCommand屬性Connection 就是sql的連接語句
SqlCmd.Connection = SqlConn;
SqlConn.Open();
//當數據讀取隨著數據連接的關閉而關閉
SqlReader = SqlCmd.ExecuteReader(CommandBehavior.CloseConnection);
return SqlReader;
}(4)SQL更新語句:
public void Update(string 欄位id, string 欄位1, string 欄位2...string 欄位N)
{ SqlCmd.CommandText = "update 數據表 set [欄位名1]=@欄位名1,[欄位名2]='" +
欄位2 + "',..,[欄位名N]='" + 欄位N + "' where [欄位id]='" + 欄位id + "'";
// SqlCmd.Parameters.AddWithValue("@lname", au_lname); 更新的欄位可以有單引號
SqlCmd.Connection = SqlConn; //連接
SqlConn.Open(); //打開
SqlCmd.ExecuteNonQuery(); //執行
}(5)SQL刪除語句:(用法如上)
public void Delete(string 欄位id)
{
SqlCmd.CommandText = "delete from [abc] where [欄位id]='"+欄位id+"'";
SqlCmd.Connection = SqlConn;
SqlConn.Open();
SqlCmd.ExecuteNonQuery();
}6.新建一個aspx頁面:加入一個GridView表(1)在配置文件(web.config)中,加入下面一段話:(2)為GridView新建數據源:對象 ->業務對象datasource->select\delete\update\insert 調用相關對象的方法->設置參數sql查詢語句,比如select * from abc.分頁設置(屬性分頁中AllowPage 是否分頁?、Pagesize 分頁頁數。屬性行為中的 是否分頁回傳 編輯推薦: 1. ADO.NET和LINQ中古怪的事務特性 2. 怎樣用C#和ADO.NET建立一個數據綁定網格 3. 使用ADO.NET2.0提升數據交互性能http://webservices.ctocio.com.cn/net/140/9011640.shtml
② C語言怎麼通過ADO連接SQL server資料庫
舉個例子,連接SQL:
// 打開資料庫
strDBClass.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=%s"), m_strUnEntryptMdbFilePath,m_strMDBPassword);
// 創建連接
HRESULT hr = m_pConnection.CreateInstance(_uuidof(Connection));
_ConnectionPtr m_pConnection->Open(m_strDBClass,_T(""),_T(""),adConnectUnspecified);
// 聲明表單指針
_RecordsetPtr pBandRecordset;
pBandRecordset.CreateInstance(__uuidof(Recordset));
// 執行語句
CString strSQL(L"SELECT * FROM [Band]");
m_pConnection->Execute((LPCTSTR)strSQL,NULL,0);
// 提取某一項 例如BandInfo
int iBandInfo = wcscmp(colum, L"BandInfo");
while(!recordsetPtr->adoEOF)
{
var = recordsetPtr->GetCollect(colum);
if(var.vt != VT_NULL)
strName = (LPCSTR)_bstr_t(var);
recordsetPtr->MoveNext();
}
③ ADO連接sql資料庫的問題
void CStudent::GetDate()
{
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();//連接資料庫
_bstr_t vSQL; //設置SELECT語句
vSQL = "SELECT t.name,t.unit,t.score FROM student t WHERE t.stu_id=" + cStu;
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL); //執行SELETE語句,並返回數據集
if (!m_pRecordset->adoEOF) //如果返回數據集不為空
{
student.name = m_pRecordset->GetCollect("name");
student.unit = m_pRecordset->GetCollect("unit");
student.score = m_pRecordset->GetCollect("score");
}
else
{
AfxMessageBox("查詢結果為空");
}
m_AdoConn.ExitConnect();
}
1.GetRecordSet方法獲取查詢返塵絕回的數據集
2.將就著看吧,大概就這么個意思,不冊衫是搞VC的要州兄腔運行的話可能要修改一下
④ ADO.NET與SQL server 2005有什麼關系啊
一個是編程一個是資料庫,.net用的軟體是Microsoft
Visual
Studio
2005自帶SQL
server2005一部分軟體,就生拉硬扯這點關系,畢竟資料庫是資料庫,編程是編程,編程不一定非要用sql2005,sql2005也不是只有.net能連接!
⑤ ADO如何與SQL SERVER資料庫相連()
首選你要裝Sql
Server
2000裝sql
server,在伺服器中如果想要連上本機,把本機的名字寫上去就行了,然後再選資料庫名,測試連接一下就ok了。當然你的資料庫要存在。
⑥ SQL與ODBC及ADO之間的關系是怎樣的
這個SQL、ODBC、ADO說起來有些話長,這里我簡單說一下。
1、SQL它是一個標準的資料庫查詢語言,用於操縱資料庫;但ODBC、ADO則是數據聯接方式,就是通過什麼方式或者說通過什麼資料庫組件來讓你聯接到資料庫; 換句話說,一個是讓你聯接到資料庫(建立通路),另一個是讓你對資料庫進行具體的操作。
2、SQL是資料庫操作語言,它的作用在於、也僅在於操作資料庫,也就是說它的操作對像只是資料庫對象。純粹的SQL過程的代表那就是資料庫的存儲過程了,它所做的主要也就是數據處理;
3、而我們在編程時,資料庫僅是一個數據存儲的工具而已,其他還有很多的邏輯處理、界面交互、系統控制等等,這些都不是SQL的范圍。
所以需要用其他高級語言來建立和控製程序的行為,在需要的時候通過ODB/ADO聯接到資料庫,然後用內嵌的SQL語言對資料庫進行操作。
-------------------------------
我是原來一樓的。
對於問題補充中的內容,樓主理解非常准確!
還可以用上網方式來比方:ODBC/ADO就是不同的上網方式(撥號/ADSL/長寬),而SQL就是流覽器來訪問具體的網路資源。流覽器提出對網頁的請求具體的信息傳輸和處理依賴於網路通路建立方式和相應服務,不同的上網方式會對流覽器結果產生不同影響(響應速率、數據包生成和傳輸過程、安全等等)。ODBC/ADO與SQL之間也正是這樣相互影響的。
⑦ sql 和 ADO是什麼關系
資料庫是一個存放數據的軟體。資料庫管理系統是用來管理數據的。
SQL是資料庫操作語言的一種,是用來操作資料庫中的數據以及管理資料庫的。而現在常用的主要是結構化查詢語言,也就是SQL,各個廠家的資料庫系統有不同的實現以及擴展。
ADO這些東西是為了讓程序訪問資料庫更方便而做的一層封裝,或API。ADO.NET,JDBC是分別的不同的技術實現。
ADO是一個用於存取數據源的COM組件,提供了編程語言和統一數據訪問方式OLEDB的一個中間層。允許開發人員編寫訪問數據的代碼而不用關心資料庫是如何實現的,而只用關心到資料庫的連接。
訪問資料庫的時候,關於SQL的知識不是必要的,但是特定資料庫支持的SQL命令仍可以通過ADO中的命令對象來執行。
SQL它是一個標準的資料庫查詢語言,用於操縱資料庫;而ADO則是數據聯接方式,就是通過什麼方式或者說通過什麼資料庫組件來讓你聯接到資料庫;
換句話說,ADO是讓聯接到資料庫(建立通路),而SQL是在這個通路的基礎上進行對數據的操作,SQL定義了如何對資料庫進行操作(增減改查),ADO為這個操作提供了可能(Execute方法)。
其實ODBC本身也提供了對SQL語言的支持,用戶也可以直接將SQL語句送給ODBC。
(7)ado和sql擴展閱讀:
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統,可以使用相同的結構化查詢語言作為數據輸入與管理的介面。
結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
SQL的核心部分相當於關系代數,但又具有關系代數所沒有的許多特點,如聚集、資料庫更新等。它是一個綜合的、通用的、功能極強的關系資料庫語言。
⑧ 請問SQL和ADO兩者什麼關系,一個性質嗎,我學了SQL還用學習ADO嗎
ADO只是一種設計模式,能簡化資料庫操作沒譽
SQL是結構化查詢語言
如果你只學SQL,就不會知道怎樣把資料庫的查詢結果顯示在表示層(比如webform)
所以要搭察羨先學知拍習SQL,再學習ADO