Tag: 存储过程

Fluent-NHibernate是否支持映射到程序?

我一直想知道是否可以让Fluent-NHibernate与已经存在的存储过程进行通信,并将结果集中的映射分配给我自己的域对象。 也是Fluent-NHibernate能够直接执行没有返回结果集的程序吗? 基本上我一直在考虑使用Fluent-NHibernate来替换具有域驱动设计的日期TypedDataSet模型的含义,该设计可以从DAL返回简单对象。 如果Fluent-NHibernate不能轻松使用SP,我想我最喜欢的是一个组合DAL,它将利用FNH进行简单的CRUD操作,同时让复杂的程序由Enterprise Library管理。 虽然如果FNH不能很好地与SP配合使用,我认为拥有2个竞争DAL并不是最佳选择,我希望听到任何其他想法,而不是同时使用EntLib和FNH。

将数组从.Net应用程序传递到Oracle存储过程

我需要将一个数组从C#.net应用程序传递给oracle存储过程。 任何人都可以让我知道如何去做吗? 另外,在将输入参数传递给存储过程时,我在C#中使用哪种OracleType类型? 仅供参考,我在C#app中使用System.Data.OracleClient。 谢谢。

从EntityFramework调用存储过程时出错

我试图从EntityFramework访问存储过程。 我遵循了以下步骤: 首先,我在Azure数据库中创建了存储过程: 然后,我从数据库更新了.edmx模型,只选择了我想要的StoredProcedure。 完成后,在函数导入中,我看到已添加StoredProcedure,但未在StoredProcedures部分中添加。 我能做什么才能出现在这里? 在“函数导入”部分中,所有参数都设置为“输入”,而“MaxReference”应标记为“输出”。 我该怎么改变它? 虽然这两个问题我已经执行了代码: 我得到以下例外: EntityCommandCompilationException An error occurred while preparing command definition. See the inner exception for details. 和InnerException: The function import ‘DataModelEntities.AssignMaxSalesRef’ cannot be executed because it is not assigned to a storage function.

在SQL Server 2014中使用TransactionScope围绕存储过程与事务

我使用C#和ADO.Net与TransactionScope在ASP.Net应用程序中运行事务。 此事务应该在多个表中保存一些数据,然后向订阅者发送电子邮件。 问题 :当它包含对SQL Server 2014中具有自己的事务的存储过程的调用时,它是否是TransactionScope的有效使用,或者我是否应该从存储中删除SQL事务语句,即begin tran , commit tran和rollback tran语句在此TransactionScope中调用的过程? 下面提到了此场景的C#代码以及存储过程的T-SQL代码。 使用TransactionScope C#代码: try { using (TransactionScope scope = new TransactionScope()) { using (SqlConnection connection1 = new SqlConnection(connectString1)) { // Opening the connection automatically enlists it in the // TransactionScope as a lightweight transaction. connection1.Open(); // SaveEmailData is a stored procedure that has a […]

如何通过param将大于200个字符的字符串传递给存储过程

我遇到了一个问题,在我的代码中,我必须对我的数据表中存在的所有文章进行求和请求,我将所有文章ID连接在一个字符串中,如’a1,a2,a3’,这应该可行。 但我有大型ID和大约150篇文章,所以我尝试传递给存储过程的字符串大约1300个字符,当它转到存储过程时这是200个字符的截断。 你知道任何解决方案将大字符串传递给没有SQL Server的存储过程来截断这个字符串吗? 我可以在这里写下C#代码或SQL存储过程,如果它可以帮助你帮助我。 这是存储过程: ALTER PROCEDURE [dbo].[GetChargePetrin] — Add the parameters for the stored procedure here @articlesList varchar(MAX) AS BEGIN — SET NOCOUNT ON added to prevent extra result sets from — interfering with SELECT statements. SET NOCOUNT ON; SELECT CAST(SUM(CAST(Qa01 AS INT) /CAST(a.CO_UQB_PET AS INT)) AS varchar) as ‘qa1’, CAST(SUM(CAST(Qa02 AS INT) […]

错误:过程或函数需要未提供的参数

目前,我在Visual Studio中的程序动态地将我的Repeater中的数据添加到我的数据库中。 现在我需要添加ID,我的EventId和FormId,我在Repeater之外手动收集。 我需要添加: sqlCmd.Parameters.Add(“@EventId”, SqlDbType.Int).Value = eventId; sqlCmd.Parameters.Add(“@FormId”, SqlDbType.Int).Value = formId; 但是,如果我的代码设置如何,当我添加以下代码时,它会出错: 附加信息:过程或函数’spInsFormRegistrant’需要参数’@EventId’,这是未提供的。 工作代码(错误代码已注释掉): protected void BtnSubmit_Click(object sender, EventArgs e) { using (SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings[“Events2”].ConnectionString)) { sqlConn.Open(); using (SqlCommand sqlCmd = new SqlCommand()) { //sqlCmd.Parameters.Add(“@EventId”, SqlDbType.Int).Value = eventId; //sqlCmd.Parameters.Add(“@FormId”, SqlDbType.Int).Value = formId; foreach (RepeaterItem rpItem in RepeaterForm.Items) { Label lblDisplayName = rpItem.FindControl(“lblDisplayName”) […]

将数组传递给存储过程

我必须将数组和字符串传递给存储过程并返回数据表 C#方: public DataTable fetchRequested(string [] empID, string [] account, string [] refNo, string orgID, string Id, DateTime valueDate) { string connetionString = null; OracleConnection con; OracleDataAdapter objAdapter = null; OracleCommand objComm = new OracleCommand(); connetionString = @”Data Source= Payment_devlope; User ID=ORGPAYMENT;Password=OrgPayment”; con = new OracleConnection (connetionString); try { con.Open(); objComm.Connection = con; objComm.CommandType = […]

存储过程中的SQL IN子句

我有一个传递以下数据的C#应用​​程序: datasetID = 10; userID = 1; varnames =“’ACT97’,’ACTCHNG’,’ACTQTR2’,’ACTSCOR2’”; 存储过程是: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[s_LockCheck] — Add the parameters for the stored procedure here @varNames VARCHAR(max), @datasetID INT, @userID INT AS BEGIN — SET NOCOUNT ON added to prevent extra result sets from — interfering with SELECT statements. SET […]

在SQL Azure上调用exec sp并使用EF6抛出时,存储过程正常工作

我有这个存储过程 CREATE PROCEDURE [dbo].[sp_RebuildIndexes] AS BEGIN DECLARE @TableName varchar(255) DECLARE TableCursor CURSOR FOR (SELECT ‘[‘ + IST.TABLE_SCHEMA + ‘].[‘ + IST.table_name + ‘]’ AS [TableName] FROM INFORMATION_SCHEMA.TABLES IST WHERE IST.TABLE_TYPE = ‘BASE TABLE’) OPEN TableCursor FETCH NEXT FROM TableCursor INTO @TableName WHILE @@fetch_status = 0 BEGIN PRINT (‘Rebuilding Indexes on ‘ + @TableName) BEGIN TRY […]

entity framework(数据库优先)具有不正确的存储过程返回结果

环境: Visual Studio 2017 SQL Server 2016 EF v6采用数据库优先方法 背景:存储过程在EDMX中。 如果没有发生,我的存储过程将返回值设置为0,如果受影响,则设置为1,如果出现错误,则设置@@ ERROR的值。 背景1:我的存储过程LTM_Lease_DeleteSubFiles在顶部执行SET NOCOUNT ON ,并在存储过程结束时使用RETURN命令设置返回值。 问题1:我的调用返回-1,甚至在存储过程中都没有: var spResults = context.LTM_Lease_DeleteSubFiles(…) 背景2:我的存储过程DOIOwnerChanges_Apply在存储过程结束时使用RETURN命令设置返回值。 问题2 :我的调用返回的值8,甚至在存储过程中找不到: var spResults = context.DOIOwnerChanges_Apply(…)