利用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();
}
}
運行效果:

項目代碼已上傳。