社区
C#
帖子详情
c# 中能不能访问sql中的存储过程!
gordenfl
2002-07-10 08:04:58
如何调用sql中存储过程!
谢谢大家!(有源代码最好!)
...全文
40
3
打赏
收藏
c# 中能不能访问sql中的存储过程!
如何调用sql中存储过程! 谢谢大家!(有源代码最好!)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bigrongshu
2002-07-11
打赏
举报
回复
参见
http://www.csdn.net/expert/topic/865/865738.xml?temp=.6660425
老大刘
2002-07-11
打赏
举报
回复
微软提供了一个优化的Data Access Application Block,你可以直接使用它来进行一些常规的数据库访问操作。
msdn帮助链接:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp
下载链接:http://download.microsoft.com/download/visualstudionet/daabref/rtm/nt5/en-us/DataAccessApplicationBlock.msi
mmkk
2002-07-10
打赏
举报
回复
public static UserProfile Login(string userName)
{
//GetSqlConnection()主要是获得数据库连接字符串
using (SqlConnection conn = MessageBoardDb.GetSqlConnection())
{
/*
public static SqlCommand GetSqlCommand(string storedProcedure, SqlConnection conn)
{
SqlCommand cmd = new SqlCommand(storedProcedure, conn);
//使用存储过程
cmd.CommandType = CommandType.StoredProcedure;
//连接超时时间,已设定为90秒
cmd.CommandTimeout = MessageBoardDb.CommandTimeout;
return cmd;
}
*/
SqlCommand cmd = MessageBoardDb.GetSqlCommand("[SelectPUser]", conn);
//SelectPUser存储过程需要一个参数
cmd.Parameters.Add("@Username", userName);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
//如果没有找到此登陆用户,抛出一个新的异常
if (dt.Rows.Count == 0)
{
throw new Exception("Username not found!");
}
DataRow dr = dt.Rows[0];
long userId = (long)dr["UserId"];
UserProfile userProfile = UserProfileFactory.Create(userId.ToString());
return userProfile;
}
}
.net数据
访问
类
SQL
Helper 类
.net数据
访问
类
SQL
Helper 介绍 摘要:Data Access Application Block 是一个 .NET 组件,包含优化的数据
访问
代码,可以帮助用户调用
存储过程
以及向
SQL
Server 数据库发出
SQL
文本命令。它返回
Sql
DataReader、DataSet 和 XmlReader 对象。您可以在自己的 .NET 应用程序
中
将其作为构造块来使用,以减少需要创建、测试和维护的自定义代码的数量。您可以下载完整的
C#
和 Visual Basic .NET 源代码以及综合文档。 简介 您是否正在从事 .NET 应用程序数据
访问
代码的设计和开发?您是否觉得自己总是在反复编写相同的数据
访问
代码?您是否曾经将数据
访问
代码包装在 Helper 函数
中
,以便能够在一行
中
调用
存储过程
?如果是,那么 Microsoft? Data Access Application Block for .NET 正是为您设计的。 Data Access Application Block 将
访问
Microsoft
SQL
Server? 数据库的性能和资源管理方面的最佳经验封装在一起。您可以很方便地在自己的 .NET 应用程序
中
将其作为构造块使用,从页减少了需要创建、测试和维护的自定义代码的数量。 尤其是,Data Access Application Block 可以帮助您: 调用
存储过程
或
SQL
文本命令。 指定参数详细信息。 返回
Sql
DataReader、DataSet 或 XmlReader 对象。 例如,在引用了 Data Access Application Block 的应用程序
中
,您可以简单地在一行代码
中
调用
存储过程
并生成 DataSet,如下所示: [
C#
] DataSet ds =
Sql
Helper.ExecuteDataset( connectionString, CommandType.StoredProcedure, "getProductsByCategory", new
Sql
Parameter("@CategoryID", categoryID)); 注意: Application Block for .NET(用于 .NET 的应用程序块)是基于对成功的 .NET 应用程序进行详细研究而设计的。它以源代码的形式提供,您可以原样使用,也可以针对自己的应用程序进行自定义。该应用程序块并不代表未来 Microsoft ADO.NET 程序库的发展方向。Microsoft ADO.NET 程序库是为在各种使用情况下实现对数据
访问
行为的精确控制而建立的。将来的 ADO.NET 版本可能会使用不同的模型来实现这个方案
Sql
Helper 类提供了一组静态方法,可以用来向
SQL
Server 数据库发出许多各种不同类型的命令。
Sql
HelperParameterCache 类提供命令参数缓存功能,可以用来提高性能。该类由许多 Execute 方法(尤其是那些只运行
存储过程
的重写方法)在内部使用。数据
访问
客户端也可以直接使用它来缓存特定命令的特定参数集。 使用
Sql
Helper 类执行命令
Sql
Helper 类提供了五种 Shared (Visual Basic) 或 static (
C#
) 方法,它们是:ExecuteNonQuery、ExecuteDataset、ExecuteReader、ExecuteScalar 和 ExecuteXmlReader。实现的每种方法都提供一组一致的重载。这提供了一种很好的使用
Sql
Helper 类来执行命令的模式,同时为开发人员选择
访问
数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。类
中
实现的所有方法都支持以下重载: [
C#
] Execute* (
Sql
Connection connection, CommandType commandType, string commandText) Execute* (
Sql
Connection connection, CommandType commandType, string commandText, params
Sql
Parameter[] commandParameters) Execute* (
Sql
Connection connection, string spName, params object[] parameterValues) Execute* (
Sql
Connection connection, CommandType commandType, string commandText) Execute* (
Sql
Connection connection, CommandType commandType, string commandText, params
Sql
Parameter[] commandParameters) Execute* (
Sql
Connection connection, string spName, params object[] parameterValues) 除这些重载以外,除 ExecuteXmlReader 之外的其他方法还提供了另一种重载:允许将连接信息作为连接字符串而不是连接对象来传递,如下面的方法签名所示: [Visual Basic] Execute* (ByVal connectionString As String, _ ByVal commandType As CommandType, _ ByVal commandText As String) Execute* (ByVal connectionString As String, _ ByVal commandType As CommandType, _ ByVal commandText As String, _ ByVal ParamArray commandParameters() As
Sql
Parameter) Execute* (ByVal connectionString As String, _ ByVal spName As String, _ ByVal ParamArray parameterValues() As Object) [
C#
] Execute* (string connectionString, CommandType commandType, string commandText) Execute* (string connectionString, CommandType commandType, string commandText, params
Sql
Parameter[] commandParameters) Execute* (string connectionString, string spName, params object[] parameterValues) 注意: ExecuteXmlReader 不支持连接字符串,因为:与
Sql
DataReader 对象不同,XmlReader 对象在 XmlReader 关闭时没有提供自动关闭连接的方法。如果客户端传递了连接字符串,那么当客户端完成对 XmlReader 的操作后,将无法关闭与 XmlReader 相关联的连接对象。 通过参考 Data Access Application Block 程序集并导入 Microsoft.ApplicationBlocks.Data 命名空间,您可以轻松编写使用任何一种
Sql
Helper 类方法的代码,如下面的代码示例所示: [Visual Basic] Imports Microsoft.ApplicationBlocks.Data [
C#
] using Microsoft.ApplicationBlocks.Data; 导入命名空间后,您可以调用任何 Execute* 方法,如下面的代码示例所示: [Visual Basic] Dim ds As DataSet =
Sql
Helper.ExecuteDataset( _ "SERVER=(local);DATABASE=Northwind;INTEGRATED SECURITY=True;", _ CommandType.Text, "SELECT * FROM Products") [
C#
] DataSet ds =
Sql
Helper.ExecuteDataset( "SERVER=DataServer;DATABASE=Northwind;INTEGRATED SECURITY=sspi;", _ CommandType.Text, "SELECT * FROM Products"); 使用
Sql
HelperParameterCache 类管理参数
Sql
HelperParameterCache 类提供了三种可以用来管理参数的公共共享方法。它们是: CacheParameterSet。用于将
Sql
Parameters 数组存储到缓存
中
。 GetCachedParameterSet。用于检索缓存的参数数组的副本。 GetSpParameterSet。一种重载方法,用于检索指定
存储过程
的相应参数(首先查询一次数据库,然后缓存结果以便将来查询)。 缓存和检索参数 通过使用 CacheParameterSet 方法,可以缓存
Sql
Parameter 对象数组。此方法通过将连接字符串和命令文本连接起来创建一个键,然后将参数数组存储在 Hashtable
中
。 要从缓存
中
检索参数,请使用 GetCachedParameterSet 方法。此方法将返回一个
Sql
Parameter 对象数组,这些对象已使用缓存(与传递给该方法的连接字符串和命令文本相对应)
中
的参数的名称、值、方向和数据类型等进行了初始化。 注意: 用作参数集的键的连接字符串通过简单的字符串比较进行匹配。用于从 GetCachedParameterSet
中
检索参数的连接字符串必须与用来通过 CacheParameterSet 来存储这些参数的连接字符串完全相同。语法不同的连接字符串即使语义相同,也不会被认为是匹配的。 以下代码显示了如何使用
Sql
HelperParameterCache 类来缓存和检索 Transact-
SQL
语句的参数。 [Visual Basic] 初始化连接字符串和命令文本 它们将构成用来存储和检索参数的键 Const CONN_STRING As String = _ "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;" Dim
sql
As String = _ "SELECT ProductName FROM Products " + _ "WHERE Category=@Cat AND SupplierID = @Sup" 缓存参数 Dim paramsToStore(1) As
Sql
Parameter paramsToStore(0) = New
Sql
Parameter("@Cat",
Sql
DbType.Int) paramsToStore(1) = New
Sql
Parameter("@Sup",
Sql
DbType.Int)
Sql
HelperParameterCache.CacheParameterSet(CONN_STRING, _
sql
, _ paramsToStore) 从缓存
中
检索参数 Dim storedParams(1) As
Sql
Parameter storedParams =
Sql
HelperParameterCache.GetCachedParameterSet( _ CONN_STRING,
sql
) storedParams(0).Value = 2 storedParams(1).Value = 3 在命令
中
使用参数 Dim ds As DataSet ds =
Sql
Helper.ExecuteDataset(CONN_STRING, _ CommandType.Text, _
sql
, storedParams) [
C#
] // 初始化连接字符串和命令文本 // 它们将构成用来存储和检索参数的键 const string CONN_STRING = "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;"; string spName = "SELECT ProductName FROM Products " + "WHERE Category=@Cat AND SupplierID = @Sup"; // 缓存参数
Sql
Parameter[] paramsToStore = new
Sql
Parameter[2]; paramsToStore[0] = New
Sql
Parameter("@Cat",
Sql
DbType.Int); paramsToStore[1] = New
Sql
Parameter("@Sup",
Sql
DbType.Int);
Sql
HelperParameterCache.CacheParameterSet(CONN_STRING,
sql
, paramsToStore); // 从缓存
中
检索参数
Sql
Parameter storedParams = new
Sql
Parameter[2]; storedParams =
Sql
HelperParameterCache.GetCachedParameterSet( CONN_STRING,
sql
); storedParams(0).Value = 2; storedParams(1).Value = 3; // 在命令
中
使用参数 DataSet ds; ds =
Sql
Helper.ExecuteDataset(CONN_STRING, CommandType.StoredProcedure,
sql
, storedParams); 检索
存储过程
参数
Sql
HelperParameterCache 还提供了针对特定
存储过程
检索参数数组的方法。一种名为 GetSpParameterSet 的重载方法提供了此功能,它包含两种实现。该方法尝试从缓存
中
检索特定
存储过程
的参数。如果这些参数尚未被缓存,则使用 .NET 的
Sql
CommandBuilder 类从内部检索,并将它们添加到缓存
中
,以便用于后续的检索请求。然后,为每个参数指定相应的参数设置,最后将这些参数以数组形式返回给客户端。以下代码显示了如何检索 Northwind 数据库
中
SalesByCategory
存储过程
的参数。 [Visual Basic] 初始化连接字符串和命令文本 它们将构成用来存储和检索参数的键 Const CONN_STRING As String = _ "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;" Dim spName As String = "SalesByCategory" 检索参数 Dim storedParams(1) As
Sql
Parameter storedParams =
Sql
HelperParameterCache.GetSpParameterSet( _ CONN_STRING, spName) storedParams(0).Value = "Beverages" storedParams(1).Value = "1997" 在命令
中
使用参数 Dim ds As DataSet ds =
Sql
Helper.ExecuteDataset(CONN_STRING, _ CommandType.StoredProcedure, _ spName, storedParams) [
C#
] // 初始化连接字符串和命令文本 // 它们将构成用来存储和检索参数的键 const string CONN_STRING = "SERVER=(local); DATABASE=Northwind; INTEGRATED SECURITY=True;"; string spName = "SalesByCategory"; // 检索参数
Sql
Parameter storedParams = new
Sql
Parameter[2]; storedParams =
Sql
HelperParameterCache.GetSpParameterSet( CONN_STRING, spName); storedParams[0].Value = "Beverages"; storedParams[1].Value = "1997"; // 在命令
中
使用参数 DataSet ds; ds =
Sql
Helper.ExecuteDataset(CONN_STRING, CommandType.StoredProcedure, spName, storedParams); 内部设计 Data Access Application Block 包含了完整的源代码和有关其设计的综合指南。本节介绍有关主要实现的详细信息。
Sql
Helper 类实现详细信息
Sql
Helper 类用于通过一组静态方法来封装数据
访问
功能。该类
不能
被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。 在
Sql
Helper 类
中
实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用
Sql
Helper 类来执行命令的模式,同时为开发人员选择
访问
数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。在
Sql
Helper 类
中
实现的方法包括: ExecuteNonQuery。此方法用于执行不返回任何行或值的命令。这些命令通常用于执行数据库更新,但也可用于返回
存储过程
的输出参数。 ExecuteReader。此方法用于返回
Sql
DataReader 对象,该对象包含由某一命令返回的结果集。 ExecuteDataset。此方法返回 DataSet 对象,该对象包含由某一命令返回的结果集。 ExecuteScalar。此方法返回一个值。该值始终是该命令返回的第一行的第一列。 ExecuteXmlReader。此方法返回 FOR XML 查询的 XML 片段。 除了这些公共方法外,
Sql
Helper 类还包含一些专用函数,用于管理参数和准备要执行的命令。不管客户端调用什么样的方法实现,所有命令都通过
Sql
Command 对象来执行。在
Sql
Command 对象能够被执行之前,所有参数都必须添加到 Parameters 集合
中
,并且必须正确设置 Connection、CommandType、CommandText 和 Transaction 属性。
Sql
Helper 类
中
的专用函数主要用于提供一种一致的方式,以便向
SQL
Server 数据库发出命令,而不考虑客户端应用程序调用的重载方法实现。
Sql
Helper 类
中
的专用实用程序函数包括: AttachParameters:该函数用于将所有必要的
Sql
Parameter 对象连接到正在运行的
Sql
Command。 AssignParameterValues:该函数用于为
Sql
Parameter 对象赋值。 PrepareCommand:该函数用于对命令的属性(如连接、事务环境等)进行初始化。 ExecuteReader:此专用 ExecuteReader 实现用于通过适当的 CommandBehavior 打开
Sql
DataReader 对象,以便最有效地管理与阅读器关联的连接的有效期。
Sql
HelperParameterCache 类实现详细信息 参数数组缓存在专用 Hashtable
中
。从缓存
中
检索的参数进行内部复制,这样客户端应用程序能够更改参数值以及进行其他操作,而不会影响缓存的参数数组。专用共享函数 CloneParameters 可以实现此目的。 常见问题 此版本包含哪些新增功能? 与 Data Access Application Block Beta 2.0 版本相比,该 RTM 版本包含以下新增功能和变化:
Sql
Helper 类方法的事务型重载不再需要
Sql
Connection 参数。在此版本
中
,连接信息从
Sql
Transaction 对象
中
派生,因此不必在方法签名
中
包含
Sql
Connection 对象参数。 现在,GetSpParameterSet 方法使用 ADO.NET CommandBuilder 类的 DeriveParameters 方法来确定
存储过程
所需要的参数。这比 Beta 2.0 版本
中
直接通过查询数据库来检索信息的效率更高。 可以使用 XCOPY 部署方法来部署 Data Access Application Block 程序集吗? 可以。Microsoft.ApplicationBlocks.Data.dll 程序集在编译后可以使用 XCOPY 进行部署。 什么时候应该使用 ExecuteDataset 方法,什么时候应该使用 ExecuteReader 方法? 这个问题实际上是什么时候应该返回 DataSet 对象
中
的多个数据行,什么时候应该使用 DataReader。答案取决于您的应用程序的特定需要,以及您在灵活性和原始性能之间的取舍。DataSet 为您提供数据的灵活的且断开连接的关系视图,而 DataReader 为您提供性能卓越的、只读的、仅向前光标。有关 DataSet 和 DataReader 的全面比较,请参阅 asp">Data Access Architecture Guide(英文)。 如何使用 ExecuteDataset 返回包含多个表的数据集? 通过创建一个可以返回多个行集的
存储过程
(通过执行多个 SELECT 语句或者对其他
存储过程
进行嵌套调用),并使用 ExecuteDataset 方法执行该过程,您可以检索包含多个表的数据集。 例如,假设您的数据库包含以下
存储过程
。 CREATE PROCEDURE GetCategories AS SELECT * FROM Categories GO CREATE PROCEDURE GetProducts AS SELECT * FROM Products 您可以创建一个主
存储过程
来对这些过程进行嵌套调用,如下面的代码示例所示。 CREATE PROCEDURE GetCategoriesAndProducts AS BEGIN EXEC GetCategories EXEC GetProducts END 使用 ExecuteDataset 方法执行此主
存储过程
将返回一个 DateSet,其
中
包含两个表:一个表包含分类数据,另一个表包含产品数据。 注意: ExecuteDataset 方法不提供为返回的表指定自定义名称的方法。第一个表的编号始终为 0,名称为 Table,第二个表的编号为 1,名称为 Table1,依此类推。
计算机应用基础复习题A.doc
计算机基础练习题及参考答案 一、单选题 1、当前鼠标和主机之间的连接采用_______接口的越来越多。 A.USBB.X.21C.RS-232 D.RS-449 2、计算机的软件系统一般分为_______两大类。 A.系统软件和应用软件 B.操作系统和计算机语言 C.程序和数据 D.DOS和Windows 3、下面有关二进制的论述
中
,错误的是_________ 。 A.二进制只有两位数 B.二进制只有"0"和"1"两个数码 C.二进制运算规则是逢二进一 D.二进制数
中
右起第十位的1相当2的9次方 4、计算机由控制器、运算器、__________、输入设备和输出设备等五大部分组成。 A.内存储器 B.外存储器 C.存储器 D.磁盘存储器 5、计算机
中
能
直接被CPU存取的信息是存放在_______
中
。 A.软盘 B.硬盘 C.光盘 D.内存 6、信息安全包括数据安全和_________。 A.人员安全 B.设备安全 C.网络安全 D.通信安全 7、作为电信与信息服务的发展趋势,人们通常所说的"三网合一"主要是指_______融合 形成的宽带通信网络。 A.有线网、无线网、互联网 B.局域网、广域网、因特网 C.网、有线电视网、计算机网络 D.2G、3G、4G移动通信网络 8、CPU
中
的运算器的主要功能是_______。 A.读取并分析指令B.执行算术运算和逻辑运算 C.指挥和控制计算机的运行D.存放运算结果 9、计算机
中
使用Cache的目的是_______。 A.为CPU
访问
硬盘提供暂存区 B.缩短CPU等待慢速设备的时间 C.扩大内存容量 D.提高CPU的算术运算能力 10、总线是计算机内部各个模块相互交换信息的公共通道,从功能上看可分为地址总线 、数据总线和__________。 A.控制总线 B.内存总线 C.ISA总线 D.PCI总线 11、关于信息在计算机内部的存储形式,正确的说法是________。 A.计算机内部使用二进制的ASCII码来存储各类数据 B.位图是以点阵形式存储的 C.使用2个字节可以存储1个汉字的16×16点阵输出码 D.声音数据在计算机内部不是以字节为基本单位存储的 12、冯·诺依曼结构的计算机是由运算器、控制器、__________、输入设备和输出设备等 五大部件组成的。 A.存储器 B.CPU C.高速缓冲器 D.硬盘 13、计算机主存一般由半导体存储器组成,按读写特性可以分为_______ 。 A.ROM和RAM B.高速和低速 C.Cache和RAM D.RAM和BIOS 14、十进制数7777转换为二进制数为__________。 A.01B.11 C.11D.01 15、微型计算机的文件系统采用________结构。 A.环型B.星型C.网型D.树型 16、信息处理进入现代信息技术发展阶段的标志是________。 A."信息爆炸"现象的产生 B.电子计算机的发明 C.互联网的出现 D.的普及 17、为了保证计算机通信质量,相关通信设备的比特差错率_______。 A.与数据传输质量无关B.可为任意值 C.应该低于某个指定的值D.必须为0 18、信息处理也可看作是_______。 A.信息存储功能B.人脑记忆和处理功能的扩展 C.信息采集功能D.信息传递功能 19、下列传输媒体________属于有线媒体。 A.光纤B.微波线路C.卫星线路D.红外传输 20、信息可以通过声、图、文在空间传播的特性称为信息的________。 A.时效性B.可传递性C.可存储性D.可识别性 21、串行接口RS232和USB相比较,在速度上是_______。 A.RS232快B.相同的C.USB 快D.根据情况不确定的 22、关于计算机程序设计语言,以下说法正确的是________。 A.机器语言是解释型语言 B.最底层,即最接近硬件的低级语言是汇编语言 C.高级语言编写的程序必须先编译和连接才能执行 D.Java、C++、
C#
、
SQL
都是高级语言 23、数据通信的系统模型由__________三部分组成。 A.数据、通信设备和计算机 B.数据源、数据通信网和数据宿 C.发送设备、同轴电缆和接收设备 D.计算机、连接电缆和网络设备 24、属于RAM特点的是_______。 A.可以进行读和写B.信息永久保存 C.只能进行读操作D.速度慢 25、_________不属于一个通信系统的系统模型的内容。 A.数据B.数据源C.数据通信网D.数据宿 26、通常信息技术主体
中
的"3C技术"是指通讯技术、计算机技术和________。 A.控制技术B.微电子技术C.激光技术D.感测技术 27、AGP扩展槽通常用来安装 A、内存 B、网卡 C、显卡 D、声卡 28、计算机
中
所有的信息都是以数据表示 A、二进制 B、八进
C#
SQL
查询技术
本课程以
SQL
Server 2008 R2数据库系统为例,全面介绍
SQL
查询技术,包括select语句,Where子句,Order By子句,Group By子句,having语句,TOP和PERCENT限制查询结果,在查询
中
使用OR和AND运算符,聚合函数应用,多表连接查询,嵌套查询,子查询,联合语句Union,内联接、外联接查询,交叉表查询,视图、
存储过程
的应用,触发器的应用等。
Sql
server
存储过程
以及
存储过程
在ADO.NET和EF
中
的使用
Sql
server
存储过程
存储过程
Procedure是一组为了完成特定功能的
SQL
语句集合,经编译后存储在数据库
中
,用户通过指定
存储过程
的名称并给出参数来执行。 以前
存储过程
流行:跟技术体系有关;流量低并发少,业务比较复杂,更多的让数据库完成就行了。
存储过程
不好维护;逻辑分散了;不好管理;全部数据库操作;(代码
中
可以有版本控制,代码不好管理,当然也可以把代码保存到git) 少用,大量复杂的逻辑、计算、数据传输,可以用,否则还是程序来完成。 例如:统计报表的数据统计,可以使用
存储过程
在数据库
中
统计好数
SQL
Server
存储过程
使用 视图 Dapper EF DbHelper
SQL
无参数
存储过程
CREATE PROCEDURE proc_User_select AS BEGIN SELECT * from sys_user END GO --执行
存储过程
SQL
语句 execute proc_User_select exec proc_User_select GO 有参数
存储过程
CREATE PROCEDURE proc_NurseOnDuty_Selec...
C#
110,568
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章