利用SqlConnection對(duì)象連接sql2000以上版本,并使用SqlCommand對(duì)象對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀取。
SqlCommand類概述:
用于對(duì)sql數(shù)據(jù)庫(kù)執(zhí)行sql語句或存儲(chǔ)過程。
命名空間:System.Data.SqlClient
程序集: System.Data(在 System.Data.dll中)
SqlCommand類的屬性
1.CommandText
獲取或設(shè)置要對(duì)數(shù)據(jù)源執(zhí)行的Transact—SQL語句或存儲(chǔ)過程。
2. CommandType
獲取或設(shè)置一個(gè)值,該值指示如何解釋CommandText屬性,CommandType默認(rèn)為CommandType.Text,表示執(zhí)行sql語句,調(diào)用存儲(chǔ)過程時(shí)需設(shè)CommandType.StoredProcedure。3.Connection
獲取或設(shè)置SqlCommand的實(shí)例使用的SqlConnection。
4.CommandTimeOut
獲取或設(shè)置在終止執(zhí)行命令的嘗試并生成錯(cuò)誤之前的等待時(shí)間。
SqlCommand類的方法
1.ExecuteNonQuery: 通過該命令執(zhí)行不要返回值的操作,例如UPDATE,INSERT,DELETE等SQL命令,只是返回執(zhí)行該命令所影響到表的行數(shù)。
2.ExecuteScalar: 可用來執(zhí)行SELECT查詢,但返回的是一個(gè)單一的值,用于查詢聚合,例如使用count(), sum(),等函數(shù)的SQL指令。
3.ExecuteReader: 該方法返回一個(gè)DataReader對(duì)象,內(nèi)容為查詢結(jié)果的內(nèi)容集合。
以下通過SqlConnection連接sql2008,并執(zhí)行數(shù)據(jù)簡(jiǎn)單操作的代碼:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Data; using System.Configuration; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // 連接sql數(shù)據(jù)庫(kù) String sqlconn = "Data Source=SEEBRO-PC\\SQLEXPRESS;Initial Catalog=SuperMarket;Integrated Security=True"; SqlConnection myConnection = new SqlConnection(sqlconn); myConnection.Open(); //定義SqlCommand類 SqlCommand myCommand = new SqlCommand(); myCommand.Connection = myConnection; myCommand.CommandType = CommandType.StoredProcedure; myCommand.CommandText = "bytype"; //存儲(chǔ)過程傳參 SqlParameter parInput = myCommand.Parameters.Add("@type", SqlDbType.SmallMoney); parInput.Direction = ParameterDirection.Input; parInput.Value = 2; SqlDataReader myReader = myCommand.ExecuteReader(); Response.Write("<table border=1 cellspaceing=0 cellpadding=2>"); Response.Write("<tr bgcolor=#DAB4B>"); for (int i = 0; i < myReader.FieldCount; i++) Response.Write("<td>" + myReader.GetName(i) + "</td>"); Response.Write("</tr>"); while (myReader.Read()) { Response.Write("<tr>"); for (int i = 0; i < myReader.FieldCount; i++) Response.Write("<td>" + myReader[i].ToString() + "</td>"); Response.Write("</tr>"); } Response.Write("</table>"); myReader.Close(); myConnection.Close(); } }
改為執(zhí)行sql指令后的代碼,實(shí)現(xiàn)同樣效果。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Data; using System.Configuration; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // 連接sql數(shù)據(jù)庫(kù) String sqlconn = "Data Source=SEEBRO-PC\\SQLEXPRESS;Initial Catalog=SuperMarket;Integrated Security=True"; SqlConnection myConnection = new SqlConnection(sqlconn); myConnection.Open(); //定義SqlCommand類 SqlCommand myCommand = new SqlCommand("select * from Product where Product.價(jià)格 = 2", myConnection); SqlDataReader myReader = myCommand.ExecuteReader(); Response.Write("<table border=1 cellspaceing=0 cellpadding=2>"); Response.Write("<tr bgcolor=#DAB4B>"); for (int i = 0; i < myReader.FieldCount; i++) Response.Write("<td>" + myReader.GetName(i) + "</td>"); Response.Write("</tr>"); while (myReader.Read()) { Response.Write("<tr>"); for (int i = 0; i < myReader.FieldCount; i++) Response.Write("<td>" + myReader[i].ToString() + "</td>"); Response.Write("</tr>"); } Response.Write("</table>"); myReader.Close(); myConnection.Close(); } }
運(yùn)行效果:
項(xiàng)目代碼已上傳。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com