我使用Lightswitch 2013(C#)而不是SQL Server来每月进行一些基本数据输入。在用户在一系列屏幕上输入数据之后,我希望他们能够在数据库上执行存储过程,这将启动一系列任务来构建SSAS多维数据集。例如。 usp_DoTasks
因此按钮被称为"过程数据"并且在EBIT屏幕上。
我似乎无法找到任何关于调用基本存储过程的内容,没有链接到表格插入等等。我是lightswitch的新手,这是我到目前为止构建的第一个应用程序
using System;
using System.Linq;
using System.IO;
using System.IO.IsolatedStorage;
using System.Collections.Generic;
using System.Configuration;
using Microsoft.LightSwitch;
using Microsoft.LightSwitch.Framework.Client;
using Microsoft.LightSwitch.Presentation;
using Microsoft.LightSwitch.Presentation.Extensions;
namespace LightSwitchApplication
{
public partial class EditableEBiTByYearCountryGrid
{
partial void EditableEBiTByYearCountryGrid_Created()
{
//Set the defaults for the parameters
SelectedYear = this.DataWorkspace.MyData.Years_SingleOrDefault(DateTime.Today.Year);
SelectedCountry = this.DataWorkspace.MyData.SalesCountries_SingleOrDefault(3);
}
partial void ProcessData_Execute()
{
//help???
}
}
}
谢谢!
答案 0 :(得分:2)
你看过this博文了吗?它提供了有关如何在LightSwitch中执行存储过程的逐步说明。
答案 1 :(得分:0)
这是一个简单的存储过程调用,没有参数,与您正在编辑的屏幕无关。
注意:我有一个名为Year和Month的表是参考表,而不是用户维护的。没有实际数据被插入年表。
以下是“屏幕”代码中按钮执行的内容
partial void ProcessData_Execute()
{
// Write your code here.
DataWorkspace dataWorkspace = new DataWorkspace();
Year operation = dataWorkspace.MyData.Years.AddNew();
dataWorkspace.MyData.SaveChanges();
}
要执行下一位,您需要添加对System.Configuration的引用。它在上面的link中描述为
您必须将服务器项目中的引用添加到 System.Configuration程序集以便使用ConfigurationManager 类。 (在“解决方案资源管理器”工具栏中,下拉“视图”切换 并选择“文件视图”。然后右键单击Server项目并说出来 “添加参考”。在.NET选项卡中,选择System.Configuration。)
在数据源“MyData”中,右键单击它并“查看代码”
partial void Years_Inserting(Year entity)
{
using (SqlConnection connection = new SqlConnection())
{
string connectionStringName = this.DataWorkspace.ProfitData.Details.Name;
connection.ConnectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;
string procedure = "usp_DoTask";
using (SqlCommand command = new SqlCommand(procedure, connection))
{
command.CommandType = CommandType.StoredProcedure;
connection.Open();
command.ExecuteNonQuery();
}
}
this.Details.DiscardChanges();
}
嘿presto,它有效。