正文

供求信息網(wǎng)(9)

ASP.NET項(xiàng)目開發(fā)案例全程實(shí)錄(第2版) 作者:明日科技


代碼貼士

ExecuteNonQuery()方法:對(duì)連接執(zhí)行Transact-SQL語句并返回受影響的行數(shù)。

this:this關(guān)鍵字引用類的當(dāng)前實(shí)例。

SqlCommand類:表示要對(duì)SQL Server數(shù)據(jù)庫執(zhí)行的一個(gè)Transact-SQL語句或存儲(chǔ)過程。

6.執(zhí)行查詢命令文本,并且返回DataSet數(shù)據(jù)集

RunProcReturn()方法為可重載方法,返回值為DataSet類型。功能分別為執(zhí)行帶參數(shù)SqlParameter的命令文本,并返回查詢DataSet結(jié)果集。下面代碼中RunProcReturn(string procName,SqlParameter[] prams,string tbName)方法主要用于執(zhí)行帶參數(shù)SqlParameter的查詢命令文本;RunProcReturn(string procName, string tbName)用于直接執(zhí)行查詢SQL語句。

可重載方法RunProcReturn()的完整代碼如下:

例程06 代碼位置:光盤\TM\01\SIS\ App_Code \ DataBase.cs

#region 執(zhí)行參數(shù)命令文本(有返回值)

/// <summary>

/// 執(zhí)行查詢命令文本,并且返回DataSet數(shù)據(jù)集

/// </summary>

/// <param name="procName">命令文本</param>

/// <param name="prams">參數(shù)對(duì)象</param>

/// <param name="tbName">數(shù)據(jù)表名稱</param>

/// <returns></returns>

public DataSet RunProcReturn(string procName, SqlParameter[] prams,string tbName)

{

SqlDataAdapter dap=CreateDataAdaper(procName, prams);

DataSet ds = new DataSet();

dap.Fill(ds,tbName);

this.Close();

//得到執(zhí)行成功返回值

return ds;

}

/// <summary>

/// 執(zhí)行命令文本,并且返回DataSet數(shù)據(jù)集

/// </summary>

/// <param name="procName">命令文本</param>

/// <param name="tbName">數(shù)據(jù)表名稱</param>

/// <returns>DataSet</returns>

public DataSet RunProcReturn(string procName, string tbName)

{

SqlDataAdapter dap = CreateDataAdaper(procName, null);

DataSet ds = new DataSet();

dap.Fill(ds, tbName);

this.Close();

//得到執(zhí)行成功返回值

return ds;

}

#endregion

代碼貼士

SqlDataAdapter類:表示用于填充DataSet和更新SQL Server數(shù)據(jù)庫的一組數(shù)據(jù)命令和一個(gè)數(shù)據(jù)庫連接。

Fill()方法:在DataSet中添加或刷新行以匹配使用DataSet和DataTable名稱的數(shù)據(jù)源中的行。

7.將SqlParameter添加到SqlDataAdapter中

用CreateDataAdaper()方法創(chuàng)建一個(gè)SqlDataAdapter對(duì)象以此來執(zhí)行命令文本。其完整代碼如下:

例程07 代碼位置:光盤\TM\01\SIS\ App_Code \ DataBase.cs

#region 將命令文本添加到SqlDataAdapter

/// <summary>

/// 創(chuàng)建一個(gè)SqlDataAdapter對(duì)象以此來執(zhí)行命令文本

/// </summary>

/// <param name="procName">命令文本</param>

/// <param name="prams">參數(shù)對(duì)象</param>

/// <returns></returns>

private SqlDataAdapter CreateDataAdaper(string procName, SqlParameter[] prams)

{

this.Open();

SqlDataAdapter dap = new SqlDataAdapter(procName,con);

dap.SelectCommand.CommandType = CommandType.Text; //執(zhí)行類型:命令文本

if (prams != null)

{

foreach (SqlParameter parameter in prams)

dap.SelectCommand.Parameters.Add(parameter);

}

//加入返回參數(shù)

dap.SelectCommand.Parameters.Add(new SqlParameter("ReturnValue", SqlDbType.Int, 4,

ParameterDirection.ReturnValue, false, 0, 0,

string.Empty, DataRowVersion.Default, null));

return dap;

}

#endregion

代碼貼士

CommandType屬性:獲取或設(shè)置要對(duì)數(shù)據(jù)源執(zhí)行的Transact-SQL語句或存儲(chǔ)過程。CommandType屬性值如下:

StoredProcedure:存儲(chǔ)過程的名稱。

TableDirect:表的名稱。

Text:SQL文本命令(默認(rèn))。

Add()方法:添加SqlParameter對(duì)象。

8.將SqlParameter添加到SqlCommand中

用CreateCommand()方法創(chuàng)建一個(gè)SqlCommand對(duì)象以此來執(zhí)行命令文本。完整代碼如下:

例程08 代碼位置:光盤\TM\01\SIS\ App_Code \ DataBase.cs

#region 將命令文本添加到SqlCommand

/// <summary>

/// 創(chuàng)建一個(gè)SqlCommand對(duì)象以此來執(zhí)行命令文本

/// </summary>

/// <param name="procName">命令文本</param>

/// <param name="prams"命令文本所需參數(shù)</param>

/// <returns>返回SqlCommand對(duì)象</returns>

private SqlCommand CreateCommand(string procName, SqlParameter[] prams)

{

//確認(rèn)打開連接

this.Open();

SqlCommand cmd = new SqlCommand(procName, con);

cmd.CommandType = CommandType.Text;    //執(zhí)行類型:命令文本

//依次把參數(shù)傳入命令文本

if (prams != null)

{

foreach (SqlParameter parameter in prams)

cmd.Parameters.Add(parameter);

}

//加入返回參數(shù)

cmd.Parameters.Add(

new SqlParameter("ReturnValue", SqlDbType.Int, 4,

ParameterDirection.ReturnValue, false, 0, 0,

string.Empty, DataRowVersion.Default, null));

return cmd;

}

#endregion


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)