利用SqlConnection對象連接sql2000以上版本,並使用SqlCommand對象對數據庫進行讀取。
SqlCommand類概述:
用於對sql數據庫執行sql語句或存儲過程。
命名空間:System.Data.SqlClient
程序集: System.Data(在 System.Data.dll中)
SqlCommand類的屬性
1.CommandText
獲取或設置要對數據源執行的Transact—SQL語句或存儲過程。
2. CommandType
獲取或設置一個值,該值指示如何解釋CommandText屬性,CommandType默認為CommandType.Text,表示執行sql語句,調用存儲過程時需設CommandType.StoredProcedure。3.Connection
獲取或設置SqlCommand的實例使用的SqlConnection。
4.CommandTimeOut
獲取或設置在終止執行命令的嘗試並生成錯誤之前的等待時間。
SqlCommand類的方法
1.ExecuteNonQuery: 通過該命令執行不要返回值的操作,例如UPDATE,INSERT,DELETE等SQL命令,只是返回執行該命令所影響到表的行數。
2.ExecuteScalar: 可用來執行SELECT查詢,但返回的是一個單一的值,用於查詢聚合,例如使用count(), sum(),等函數的SQL指令。
3.ExecuteReader: 該方法返回一個DataReader對象,內容為查詢結果的內容集合。
以下通過SqlConnection連接sql2008,並執行數據簡單操作的代碼:
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數據庫 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"; //存儲過程傳參 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(); } }
改為執行sql指令後的代碼,實現同樣效果。
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數據庫 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.價格 = 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(); } }
運行效果:
項目代碼已上傳。