我发现这段代码可以找到任何引用单个特定列的存储过程。现在我想创建一个查找引用多个特定列的存储过程的程序。
SELECT DISTINCT Name
FROM sys.procedures
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%tbl_name%'
AND OBJECT_DEFINITION(OBJECT_ID) LIKE '%CreatedDate%';
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我有时可以指定列可能来自哪个表(有时是多个表)?
我正在使用 ClosedXML 为 Excel 中的人员制作报告。我有 3 个问题需要帮助。
1)我这里有这段代码,这样我就可以访问工作簿中的数据。除非有人打开该工作簿,否则它可以正常工作。如果可能的话,我不在乎它是否打开只读副本,因为我所做的只是从中访问信息。
var WorkbookCopyFrom = new XLWorkbook(WorksheetToCopy);
Run Code Online (Sandbox Code Playgroud)
即使有人打开了,我怎样才能打开它?
2)在我之前的公司,我使用Office Interop Nuget包来做类似的事情。在该包中,我能够在使用以下代码处理 Excel 文件时显示该文件:
excelApp.Visible = true;
Run Code Online (Sandbox Code Playgroud)
ClosedXML 中有类似的东西吗?
我有一个项目,我需要添加分页,但我一直收到错误.我找到了这个链接,http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/sorting-filtering-and-paging-with-the-entity-framework -in-an-asp-net-mvc-application,在MSDN网站上.我正在完成它并安装PagedList.MVC nuget包,将此代码放在我的控制器中:
[HttpGet]
public ActionResult TechOpenTickets(int? page)
{
ViewBag.Title = "Open Tickets Assigned To Me";
var model = FindTechTickets(new Guid(Properties.Settings.Default.ActiveID));
int pageSize = 3;
int pageNumber = (page ?? 1);
return View("TechOpen", model.ToPagedList(pageNumber, pageSize));
}
Run Code Online (Sandbox Code Playgroud)
然后在我看来,我在顶部有这个:
@model PagedList.IPagedList<HelpDesk.Model.Ticket>
@using PagedList.Mvc;
@using PagedList;
Run Code Online (Sandbox Code Playgroud)
我在视图中的PagedList关键字上收到以下构建错误.
找不到类型或命名空间名称'PagedList'(您是否缺少using指令或程序集引用?)
我已经安装了nuget包,我错过了什么?
是否可以在ClosedXML中进行查找?我浏览了他们的文档,没有记录.我怎样才能看看ClosedXML中包含的所有方法,所以我可以自己找到一些这样的东西?
我希望能够使用ClosedXML查找某个范围内是否存在特定字符串,但是,我在文档中找不到任何find命令.目前我循环遍历1000行以查找字符串是否存在.有没有更有效的方法来做到这一点?
这是我的代码示例:
for (int j = 3; j <= PipeSheet.LastRowUsed().RowNumber(); j ++)
{
if ((PipeSheet.Cell(j, ProdCodeColumnInPipe).Value.ToString().Trim() == SheetToEdit.Cell(i, ProdCodeColumnInMain).Value.ToString().Trim() & PipeSheet.Cell(j, 3).Value.ToString().Trim() == SheetToEdit.Cell(i, RegionCodeInMain).Value.ToString().Trim()))
{
SheetToEdit.Cell(i, ColumnToEdit).Value = "+";
if ((new[] { "Open", "Under Review" }).Contains(PipeSheet.Cell(j, 5).Value.ToString().Trim()) & (new[] { "Forecast"}).Contains(PipeSheet.Cell(j, 4).Value.ToString().Trim()))
{
if (FirstColumnHighlight > 1 & LastColumnHighlight > 1)
{
for (int k = FirstColumnHighlight; k <= LastColumnHighlight; k++)
{
SheetToEdit.Cell(i, k).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 255, 0);
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在为我的项目使用实体代码首次迁移。我已经启动并运行了系统。但是,我需要添加一个新的 Guid 列,它是一个外键。在尝试更新数据库时,我收到以下错误:
ALTER TABLE 语句与 FOREIGN KEY 约束“FK_dbo.Categories_dbo.aspnet_Roles_RoleId”冲突。冲突发生在数据库“HelpDesk”、表“dbo.aspnet_Roles”、“RoleId”列中。
所以我做了一些研究,发现Entity Framework 6 Code first Default value。但是,我无法弄清楚如何让它为 Guid 设置默认值。这是我试过的代码:
这是迁移:
public override void Up()
{
AddColumn("dbo.Categories", "RoleId", c => c.Guid(nullable: false, defaultValue: "4468ACB7-AD6F-471E-95CF-615115EA3A76"));
CreateIndex("dbo.Categories", "RoleId");
AddForeignKey("dbo.Categories", "RoleId", "dbo.aspnet_Roles", "RoleId");
}
public override void Down()
{
DropForeignKey("dbo.Categories", "RoleId", "dbo.aspnet_Roles");
DropIndex("dbo.Categories", new[] { "RoleId" });
DropColumn("dbo.Categories", "RoleId");
}
Run Code Online (Sandbox Code Playgroud)
如果我切换到此代码,我能够摆脱所有构建错误(但如果我运行 Update-database,仍然会出现 Alter Table 错误:
AddColumn("dbo.Categories", "RoleId", c => c.Guid(nullable: false, identity: false, defaultValue: null));
Run Code Online (Sandbox Code Playgroud)
如何将其转换为添加特定 Guid 作为默认值?
我使用 viewbag 创建一个选择列表,我想显示连接在一起的两个字段。然而,它在我看来是崩溃的。这是查看包代码:
ViewBag.PackageId = new SelectList(db.Packages.Where(p => p.status == "A"), "u_package_id", "u_package_id" + "'-'" + "package_nme");
Run Code Online (Sandbox Code Playgroud) c# ×5
asp.net-mvc ×3
closedxml ×3
excel ×3
migration ×1
pagination ×1
selectlist ×1
sql ×1
sql-server ×1
view ×1
viewbag ×1