ASP.NET封裝的SQL數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)類(lèi)
更新時(shí)間:2009年02月25日 22:34:42 作者:
ASP.NET SQL數(shù)據(jù)庫(kù)封裝訪(fǎng)問(wèn)類(lèi)代碼
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace MyCorporation.DepartMent.DataBase
{
/// <summary>
/// 通用數(shù)據(jù)庫(kù)類(lèi)
/// </summary>
public class DataBase
{
private string ConnStr = null;
public DataBase()
{
ConnStr = ConfigurationSettings.AppSettings["ConnStr"];
}
public DataBase(string Str)
{
try
{
this.ConnStr = Str;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 返回connection對(duì)象
/// </summary>
/// <returns></returns>
public SqlConnection ReturnConn()
{
SqlConnection Conn = new SqlConnection(ConnStr);
Conn.Open();
return Conn;
}
public void Dispose(SqlConnection Conn)
{
if (Conn != null)
{
Conn.Close();
Conn.Dispose();
}
GC.Collect();
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句
/// </summary>
/// <param name="SQL"></param>
public void RunProc(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd;
Cmd = CreateCmd(SQL, Conn);
try
{
Cmd.ExecuteNonQuery();
}
catch
{
throw new Exception(SQL);
}
Dispose(Conn);
return;
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句返回DataReader
/// </summary>
/// <param name="SQL"></param>
/// <returns>SqlDataReader對(duì)象.</returns>
public SqlDataReader RunProcGetReader(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd;
Cmd = CreateCmd(SQL, Conn);
SqlDataReader Dr;
try
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
catch
{
throw new Exception(SQL);
}
//Dispose(Conn);
return Dr;
}
/// <summary>
/// 生成Command對(duì)象
/// </summary>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <returns></returns>
public SqlCommand CreateCmd(string SQL, SqlConnection Conn)
{
SqlCommand Cmd;
Cmd = new SqlCommand(SQL, Conn);
return Cmd;
}
/// <summary>
/// 生成Command對(duì)象
/// </summary>
/// <param name="SQL"></param>
/// <returns></returns>
public SqlCommand CreateCmd(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd;
Cmd = new SqlCommand(SQL, Conn);
return Cmd;
}
/// <summary>
/// 返回adapter對(duì)象
/// </summary>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <returns></returns>
public SqlDataAdapter CreateDa(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = new SqlDataAdapter(SQL, Conn);
return Da;
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句,返回DataSet對(duì)象
/// </summary>
/// <param name="procName">SQL語(yǔ)句</param>
/// <param name="prams">DataSet對(duì)象</param>
public DataSet RunProc(string SQL, DataSet Ds)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
//Da = CreateDa(SQL, Conn);
Da = new SqlDataAdapter(SQL, Conn);
try
{
Da.Fill(Ds);
}
catch (Exception Err)
{
throw Err;
}
Dispose(Conn);
return Ds;
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句,返回DataSet對(duì)象
/// </summary>
/// <param name="procName">SQL語(yǔ)句</param>
/// <param name="prams">DataSet對(duì)象</param>
/// <param name="dataReader">表名</param>
public DataSet RunProc(string SQL, DataSet Ds, string tablename)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = CreateDa(SQL);
try
{
Da.Fill(Ds, tablename);
}
catch (Exception Ex)
{
throw Ex;
}
Dispose(Conn);
return Ds;
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句,返回DataSet對(duì)象
/// </summary>
/// <param name="procName">SQL語(yǔ)句</param>
/// <param name="prams">DataSet對(duì)象</param>
/// <param name="dataReader">表名</param>
public DataSet RunProc(string SQL, DataSet Ds, int StartIndex, int PageSize, string tablename)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = CreateDa(SQL);
try
{
Da.Fill(Ds, StartIndex, PageSize, tablename);
}
catch (Exception Ex)
{
throw Ex;
}
Dispose(Conn);
return Ds;
}
/// <summary>
/// 檢驗(yàn)是否存在數(shù)據(jù)
/// </summary>
/// <returns></returns>
public bool ExistDate(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataReader Dr;
Dr = CreateCmd(SQL, Conn).ExecuteReader();
if (Dr.Read())
{
Dispose(Conn);
return true;
}
else
{
Dispose(Conn);
return false;
}
}
/// <summary>
/// 返回SQL語(yǔ)句執(zhí)行結(jié)果的第一行第一列
/// </summary>
/// <returns>字符串</returns>
public string ReturnValue(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
string result;
SqlDataReader Dr;
try
{
Dr = CreateCmd(SQL, Conn).ExecuteReader();
if (Dr.Read())
{
result = Dr[0].ToString();
Dr.Close();
}
else
{
result = "";
Dr.Close();
}
}
catch
{
throw new Exception(SQL);
}
Dispose(Conn);
return result;
}
/// <summary>
/// 返回SQL語(yǔ)句第一列,第ColumnI列,
/// </summary>
/// <returns>字符串</returns>
public string ReturnValue(string SQL, int ColumnI)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
string result;
SqlDataReader Dr;
try
{
Dr = CreateCmd(SQL, Conn).ExecuteReader();
}
catch
{
throw new Exception(SQL);
}
if (Dr.Read())
{
result = Dr[ColumnI].ToString();
}
else
{
result = "";
}
Dr.Close();
Dispose(Conn);
return result;
}
/// <summary>
/// 生成一個(gè)存儲(chǔ)過(guò)程使用的sqlcommand.
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名.</param>
/// <param name="prams">存儲(chǔ)過(guò)程入?yún)?shù)組.</param>
/// <returns>sqlcommand對(duì)象.</returns>
public SqlCommand CreateCmd(string procName, SqlParameter[] prams)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
if (parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}
/// <summary>
/// 為存儲(chǔ)過(guò)程生成一個(gè)SqlCommand對(duì)象
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名</param>
/// <param name="prams">存儲(chǔ)過(guò)程參數(shù)</param>
/// <returns>SqlCommand對(duì)象</returns>
private SqlCommand CreateCmd(string procName, SqlParameter[] prams, SqlDataReader Dr)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
Cmd.Parameters.Add(parameter);
}
Cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
return Cmd;
}
/// <summary>
/// 運(yùn)行存儲(chǔ)過(guò)程,返回.
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名</param>
/// <param name="prams">存儲(chǔ)過(guò)程參數(shù)</param>
/// <param name="dataReader">SqlDataReader對(duì)象</param>
public void RunProc(string procName, SqlParameter[] prams, SqlDataReader Dr)
{
SqlCommand Cmd = CreateCmd(procName, prams, Dr);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return;
}
/// <summary>
/// 運(yùn)行存儲(chǔ)過(guò)程,返回.
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名</param>
/// <param name="prams">存儲(chǔ)過(guò)程參數(shù)</param>
public string RunProc(string procName, SqlParameter[] prams)
{
SqlDataReader Dr;
SqlCommand Cmd = CreateCmd(procName, prams);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
if (Dr.Read())
{
return Dr.GetValue(0).ToString();
}
else
{
return "";
}
}
/// <summary>
/// 運(yùn)行存儲(chǔ)過(guò)程,返回dataset.
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名.</param>
/// <param name="prams">存儲(chǔ)過(guò)程入?yún)?shù)組.</param>
/// <returns>dataset對(duì)象.</returns>
public DataSet RunProc(string procName, SqlParameter[] prams, DataSet Ds)
{
SqlCommand Cmd = CreateCmd(procName, prams);
SqlDataAdapter Da = new SqlDataAdapter(Cmd);
try
{
Da.Fill(Ds);
}
catch (Exception Ex)
{
throw Ex;
}
return Ds;
}
}
}
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace MyCorporation.DepartMent.DataBase
{
/// <summary>
/// 通用數(shù)據(jù)庫(kù)類(lèi)
/// </summary>
public class DataBase
{
private string ConnStr = null;
public DataBase()
{
ConnStr = ConfigurationSettings.AppSettings["ConnStr"];
}
public DataBase(string Str)
{
try
{
this.ConnStr = Str;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 返回connection對(duì)象
/// </summary>
/// <returns></returns>
public SqlConnection ReturnConn()
{
SqlConnection Conn = new SqlConnection(ConnStr);
Conn.Open();
return Conn;
}
public void Dispose(SqlConnection Conn)
{
if (Conn != null)
{
Conn.Close();
Conn.Dispose();
}
GC.Collect();
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句
/// </summary>
/// <param name="SQL"></param>
public void RunProc(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd;
Cmd = CreateCmd(SQL, Conn);
try
{
Cmd.ExecuteNonQuery();
}
catch
{
throw new Exception(SQL);
}
Dispose(Conn);
return;
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句返回DataReader
/// </summary>
/// <param name="SQL"></param>
/// <returns>SqlDataReader對(duì)象.</returns>
public SqlDataReader RunProcGetReader(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd;
Cmd = CreateCmd(SQL, Conn);
SqlDataReader Dr;
try
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
catch
{
throw new Exception(SQL);
}
//Dispose(Conn);
return Dr;
}
/// <summary>
/// 生成Command對(duì)象
/// </summary>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <returns></returns>
public SqlCommand CreateCmd(string SQL, SqlConnection Conn)
{
SqlCommand Cmd;
Cmd = new SqlCommand(SQL, Conn);
return Cmd;
}
/// <summary>
/// 生成Command對(duì)象
/// </summary>
/// <param name="SQL"></param>
/// <returns></returns>
public SqlCommand CreateCmd(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd;
Cmd = new SqlCommand(SQL, Conn);
return Cmd;
}
/// <summary>
/// 返回adapter對(duì)象
/// </summary>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <returns></returns>
public SqlDataAdapter CreateDa(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = new SqlDataAdapter(SQL, Conn);
return Da;
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句,返回DataSet對(duì)象
/// </summary>
/// <param name="procName">SQL語(yǔ)句</param>
/// <param name="prams">DataSet對(duì)象</param>
public DataSet RunProc(string SQL, DataSet Ds)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
//Da = CreateDa(SQL, Conn);
Da = new SqlDataAdapter(SQL, Conn);
try
{
Da.Fill(Ds);
}
catch (Exception Err)
{
throw Err;
}
Dispose(Conn);
return Ds;
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句,返回DataSet對(duì)象
/// </summary>
/// <param name="procName">SQL語(yǔ)句</param>
/// <param name="prams">DataSet對(duì)象</param>
/// <param name="dataReader">表名</param>
public DataSet RunProc(string SQL, DataSet Ds, string tablename)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = CreateDa(SQL);
try
{
Da.Fill(Ds, tablename);
}
catch (Exception Ex)
{
throw Ex;
}
Dispose(Conn);
return Ds;
}
/// <summary>
/// 運(yùn)行SQL語(yǔ)句,返回DataSet對(duì)象
/// </summary>
/// <param name="procName">SQL語(yǔ)句</param>
/// <param name="prams">DataSet對(duì)象</param>
/// <param name="dataReader">表名</param>
public DataSet RunProc(string SQL, DataSet Ds, int StartIndex, int PageSize, string tablename)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = CreateDa(SQL);
try
{
Da.Fill(Ds, StartIndex, PageSize, tablename);
}
catch (Exception Ex)
{
throw Ex;
}
Dispose(Conn);
return Ds;
}
/// <summary>
/// 檢驗(yàn)是否存在數(shù)據(jù)
/// </summary>
/// <returns></returns>
public bool ExistDate(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataReader Dr;
Dr = CreateCmd(SQL, Conn).ExecuteReader();
if (Dr.Read())
{
Dispose(Conn);
return true;
}
else
{
Dispose(Conn);
return false;
}
}
/// <summary>
/// 返回SQL語(yǔ)句執(zhí)行結(jié)果的第一行第一列
/// </summary>
/// <returns>字符串</returns>
public string ReturnValue(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
string result;
SqlDataReader Dr;
try
{
Dr = CreateCmd(SQL, Conn).ExecuteReader();
if (Dr.Read())
{
result = Dr[0].ToString();
Dr.Close();
}
else
{
result = "";
Dr.Close();
}
}
catch
{
throw new Exception(SQL);
}
Dispose(Conn);
return result;
}
/// <summary>
/// 返回SQL語(yǔ)句第一列,第ColumnI列,
/// </summary>
/// <returns>字符串</returns>
public string ReturnValue(string SQL, int ColumnI)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
string result;
SqlDataReader Dr;
try
{
Dr = CreateCmd(SQL, Conn).ExecuteReader();
}
catch
{
throw new Exception(SQL);
}
if (Dr.Read())
{
result = Dr[ColumnI].ToString();
}
else
{
result = "";
}
Dr.Close();
Dispose(Conn);
return result;
}
/// <summary>
/// 生成一個(gè)存儲(chǔ)過(guò)程使用的sqlcommand.
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名.</param>
/// <param name="prams">存儲(chǔ)過(guò)程入?yún)?shù)組.</param>
/// <returns>sqlcommand對(duì)象.</returns>
public SqlCommand CreateCmd(string procName, SqlParameter[] prams)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
if (parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}
/// <summary>
/// 為存儲(chǔ)過(guò)程生成一個(gè)SqlCommand對(duì)象
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名</param>
/// <param name="prams">存儲(chǔ)過(guò)程參數(shù)</param>
/// <returns>SqlCommand對(duì)象</returns>
private SqlCommand CreateCmd(string procName, SqlParameter[] prams, SqlDataReader Dr)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
Cmd.Parameters.Add(parameter);
}
Cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
return Cmd;
}
/// <summary>
/// 運(yùn)行存儲(chǔ)過(guò)程,返回.
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名</param>
/// <param name="prams">存儲(chǔ)過(guò)程參數(shù)</param>
/// <param name="dataReader">SqlDataReader對(duì)象</param>
public void RunProc(string procName, SqlParameter[] prams, SqlDataReader Dr)
{
SqlCommand Cmd = CreateCmd(procName, prams, Dr);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return;
}
/// <summary>
/// 運(yùn)行存儲(chǔ)過(guò)程,返回.
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名</param>
/// <param name="prams">存儲(chǔ)過(guò)程參數(shù)</param>
public string RunProc(string procName, SqlParameter[] prams)
{
SqlDataReader Dr;
SqlCommand Cmd = CreateCmd(procName, prams);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
if (Dr.Read())
{
return Dr.GetValue(0).ToString();
}
else
{
return "";
}
}
/// <summary>
/// 運(yùn)行存儲(chǔ)過(guò)程,返回dataset.
/// </summary>
/// <param name="procName">存儲(chǔ)過(guò)程名.</param>
/// <param name="prams">存儲(chǔ)過(guò)程入?yún)?shù)組.</param>
/// <returns>dataset對(duì)象.</returns>
public DataSet RunProc(string procName, SqlParameter[] prams, DataSet Ds)
{
SqlCommand Cmd = CreateCmd(procName, prams);
SqlDataAdapter Da = new SqlDataAdapter(Cmd);
try
{
Da.Fill(Ds);
}
catch (Exception Ex)
{
throw Ex;
}
return Ds;
}
}
}
您可能感興趣的文章:
- 一個(gè)ASP.NET的MYSQL的數(shù)據(jù)庫(kù)操作類(lèi)自己封裝的
- asp.net Oracle數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)操作類(lèi)
- asp.net下使用DbProviderFactories的數(shù)據(jù)庫(kù)操作類(lèi)
- ASP.NET對(duì)SQLServer的通用數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)類(lèi)
- asp.net下Oracle,SQL Server,Access萬(wàn)能數(shù)據(jù)庫(kù)通用類(lèi)
- asp.net 數(shù)據(jù)庫(kù)連接類(lèi)代碼(SQL)
- asp.net 數(shù)據(jù)庫(kù)的連接和datatable類(lèi)
- ASP.NET web.config中數(shù)據(jù)庫(kù)連接字符串connectionStrings節(jié)的配置方法
- asp.net連接查詢(xún)SQL數(shù)據(jù)庫(kù)并把結(jié)果顯示在網(wǎng)頁(yè)上(2種方法)
- ASP.NET 6種常用數(shù)據(jù)庫(kù)的連接方法
- ASP.NET2.0 SQL Server數(shù)據(jù)庫(kù)連接詳解
- Asp.net把圖片存入數(shù)據(jù)庫(kù)和讀取圖片的方法
- ASP.NET數(shù)據(jù)庫(kù)操作類(lèi)實(shí)例
相關(guān)文章
ASP.NET Core中的Action的返回值類(lèi)型實(shí)現(xiàn)
這篇文章主要介紹了ASP.NET Core中的Action的返回值類(lèi)型實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
.NET Core單文件發(fā)布靜態(tài)編譯AOT CoreRT的方法詳解
這篇文章主要給大家介紹了關(guān)于.NET Core單文件發(fā)布靜態(tài)編譯AOT CoreRT的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
ASP.NET自帶對(duì)象JSON字符串與實(shí)體類(lèi)的轉(zhuǎn)換
這篇文章主要介紹了ASP.NET自帶對(duì)象JSON字符串與實(shí)體類(lèi)的轉(zhuǎn)換,感興趣的小伙伴們可以參考一下2016-07-07
c# rabbitmq 簡(jiǎn)單收發(fā)消息的示例代碼
這篇文章主要介紹了c# rabbitmq 簡(jiǎn)單收發(fā)消息的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
ASP.NET MVC使用EasyUI的datagrid多選提交保存教程
ASP.NET MVC使用EasyUI的datagrid多選提交保存教程,需要的朋友可以參考下。2011-12-12
.NET Core中的HttpClientFactory類(lèi)用法詳解
本文詳細(xì)講解了.NET Core中的HttpClientFactory類(lèi)的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
.NET?MAUI項(xiàng)目中創(chuàng)建超鏈接
這篇文章介紹了.NET?MAUI項(xiàng)目中創(chuàng)建超鏈接的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03

