AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-3166497

John D's questions

Martin Hope
John D
Asked: 2025-02-07 04:01:19 +0800 CST

如何放置 FK 约束,以便删除单个 FK 记录不会删除主记录

  • 5

我想在子表中有一个 FK 约束,这样当我从子表中删除记录时,主记录不会被删除。

我确实在子表中创建了一个 FK 约束,ON DELETE CASCADE认为当打算执行子表删除记录操作以及删除主表记录时,这只会删除子表记录。

我知道级联删除操作将/应该级联到子表。

ALTER TABLE [dbo].[PTINSPECTION] WITH CHECK 
    ADD CONSTRAINT [FK_PTINSPECTION_MOTRIP] 
        FOREIGN KEY([UID_MOTRIP])
        REFERENCES [dbo].[MOTRIP] ([UID_MOTRIP])
        ON DELETE CASCADE

这可能听起来很愚蠢,但是我在 Google 上搜索了有关级联删除的问题,有几个回复指出级联删除也会应用于主表(这意味着它会删除相应的父记录)。

这对我来说没有意义,这就是我问这个问题的原因......

子 FK 约束是否允许在删除子表记录时删除主记录?

sql
  • 1 个回答
  • 91 Views
Martin Hope
John D
Asked: 2025-02-05 02:03:29 +0800 CST

需要为 NULL 或 NOT NULL 的 WHERE 子句

  • 6

我需要帮助对where存储过程的子句进行编码,并传递以下输入参数:

DECLARE @UID_CUSTOMER           int = 7
    ,   @BOOL_HAS_DEFECT        bit = 0
    ,   @BOOL_HAS_INSPECTION    bit = 0
    ,   @DTTM_TRIP_START        datetime = '2024-01-01'
    ,   @DTTM_TRIP_END          datetime = '2024-06-01'
    ;

在 T-SQL 查询中,我将使用以下WHERE子句:

WHERE ... other conditions ...
  AND (PTI.UID_PTINSPECTION IS NOT NULL)
  AND (TMD.UID_TMDEFECT IS NOT NULL);

但是,我想使用入站参数,@BOOL_HAS_INSPECTION如下所示:

  AND (PTI.UID_PTINSPECTION (CASE WHEN @BOOL_HAS_INSPECTION = 1 
                        THEN (IS NOT NULL)
                        ELSE (IS NULL) END))

此代码片段无效。

问题:如何使用@BOOL_HAS_INSPECTION来正确指定IS NOT NULL和/或IS NULL?

sql
  • 1 个回答
  • 65 Views
Martin Hope
John D
Asked: 2025-01-19 05:30:22 +0800 CST

我们如何引用 HeaderTemplate 来使用 RenderFragment 为 QuickGrid 指定 HTML?

  • 6

我们在 VS 2022 中有一个 .NET 8 和 C# Blazor 项目,其中包含许多 QuickGrids。

我想使用 来放置PropertyColumn的标题文本的 HTML 和样式HeaderTemplate,这将覆盖该Title字段。但我不知道如何使用HeaderTemplate。

我的 QuickGrid 标记如下所示:

<PropertyColumn 
         Property="f => f.TXT_NAME"              
         HeaderTemplate="<TemplateHeader>Missouri</TemplateHeader>" 
         Sortable="false" Class="itemName" />

我已在 Google 上搜索了指定/利用该HeaderTemplate功能的正确方法的示例,但找不到任何示例。您在上面的代码中看到的是关于如何使用的无效猜测HeaderTemplate。

当我输入代码时HeaderTemplate,VS 2022 会立即跟进=""-- 暗示应该输入一些文本。但是……我尝试了各种方法,你可以看到我尝试提供一个包含渲染片段的组件 -- 但编译时不会出现错误

无效的表达式术语“<”

我陷入困境。

渲染片段组件标记和代码如下:

<div class="text-danger fst-italic fw-bold">
   @ChildContent
</div>

@code {
#pragma warning disable CS8618
   [Parameter] public RenderFragment? ChildContent { get; set; }
#pragma warning restore CS8618
}
      

欢迎您提出解决方案、评论和问题。

谢谢。

blazor
  • 2 个回答
  • 32 Views
Martin Hope
John D
Asked: 2024-08-01 21:11:09 +0800 CST

C# 反射如何从字段名称将字段对象放入 C# 代码中?[重复]

  • 4
此问题这里已有答案:
通过字符串生成 EF orderby 表达式[重复] (6 个答案)
1 小时前关闭。

我有一个编码问题,认为反射可能是满足 C# VS-2022 源代码情况的方法。

我的问题是,读完下面的内容后......可以使用反射来简化field-name用于排序列表的硬编码吗?

我有这句话,其中的r.TXT_DISPL_VEHICLE代码显然是输入到源代码中的。

case 1:
// For the first sort-box, ALWAYS sort by the 'DTTM_TRIP_START_DATE'.
_ListForGrid = _ListForGrid.AsQueryable().OrderBy(r => r.DTTM_TRIP_START_DATE)
               .ThenByDescending(r => r.TXT_DISPL_VEHICLE).ToList();

但是,这个字段名TXT_DISPL_VEHICLE取决于排序语句所用的类名。我们有许多项目调用此函数,例如:

class-name          field-name
----------------    --------------------
"Vehicle"       ,   "TXT_DISPL_VEHICLE"         
"Department"    ,   "TXT_DEPT_ABBREV"               
"Driver"        ,   "TXT_DISPL_DRIVER_NAME"     
"Manager"       ,   "TXT_DISPL_DRIVER_NAME" 

我想知道反射是否可以解决避免一系列 switch 语句的编码问题,例如:

switch (itemType) {
case "Vehicle":
//use the value TXT_DISPL_VEHICLE in the code for vehicle.
break;

...并且每个项目都类似。

此外,“排序”句子变得更加复杂,并且基于OrderBy从句中使用了多少个项目......例如第三种排序......

case 3:
// For the first sort-box, ALWAYS sort by the 'DTTM_TRIP_START_DATE'.
if (saOrderBys[0] == "DESC") {
    int soValue13 = Convert.ToInt32(ddlOrderByFieldNamesList.FirstOrDefault(r => r.Key == iaSortDDLs[0]).Value);
    _ListForGrid = _ListForGrid.AsQueryable().OrderByDescending(r => r.DTTM_TRIP_START_DATE)
        .ThenBy(r => r.TXT_DISPL_VEHICLE)
        .ThenBy(r => r.TXT_DISPL_DRIVER_NAME).ToList();
} else if (iDESC == 2) {
    _ListForGrid = _ListForGrid.AsQueryable().OrderBy(r => r.DTTM_TRIP_START_DATE)
        .ThenByDescending(r => r.TXT_DISPL_VEHICLE)
        .ThenBy(r => r.TXT_DISPL_DRIVER_NAME).ToList();
} else if (iDESC == 3) {
    _ListForGrid = _ListForGrid.AsQueryable().OrderBy(r => r.DTTM_TRIP_START_DATE)
        .ThenBy(r => r.DTTM_TRIP_START_DATE)
        .ThenByDescending(r => r.TXT_DISPL_DRIVER_NAME).ToList();
}
return;
c#
  • 1 个回答
  • 24 Views
Martin Hope
John D
Asked: 2024-02-08 01:34:58 +0800 CST

如何访问 MaxLengthAttribute 类以在验证期间获取字段的 LENGTH 值?

  • 4

在 Blazor CRUD 组件的 handleSubmit 函数中,我必须提供基于DataAnnotation MaxLength-attribute. 我想显示一个“自定义”C# 错误消息,如下所示,其中“??” 来自 MaxLength 属性:

$"The 'Vehicle Number' is limited to {??} characters." 

CRUD 模型中的 DataAnnotation 是:

[Display(Name = "Vehicle Number")]
[MaxLength(12, ErrorMessage = "'{0}' is limited to {1} characters.")]
public string? TXT_VHCL_NUMBER { get; set; }

我知道namespace is System.ComponentModel.DataAnnotations应该具有该值,但我不知道如何获取与特定 DataAnnotation MaxLength 属性关联的“车辆编号字段”。

c#
  • 2 个回答
  • 35 Views
Martin Hope
John D
Asked: 2023-11-20 22:18:45 +0800 CST

如何使用 where 子句中的 CONVERT() 函数从具有一百万条记录的表中为给定的 DATETIME 日期选择几条记录?

  • 4

我有一个查询,它使用 CONVERT() 函数来获取特定日期(天)的记录。我从SO-answer中了解到,当有数百万条记录时,CONVERT()不应该出现在where子句中(SQL查询快速选择百万条记录)。

当我们在 where 子句中使用 CONVERT() 函数在 MOTRIP 表中拥有一百万条记录时,我担心查询的速度。

我寻求建议,将“新的仅日期字段”(TRIP_START_DATE) 放入 MOTRIP 表中,以消除在需要特定日期的最后一次行程的查询中使用 CONVERT() 函数是否是个好主意。???

MOTRIP 表在 DTTM_TRIP_START (smalldatetime) 列上有一个索引,在 UID_CUSTOMER (int) 列上有一个索引。

我使用 CONVERT(DATE,DTTM_TRIP_START) 函数检查一天中发生的行程,以根据其他条件了解一天中的最后一次行程。

DECLARE @UID_MOTRIP int = 409;
SELECT TOP (1)
       @UID_MOTRIP AS UID_MOTRIP,
       UID_MOTRIP AS TRIP_WITH_POST_UID,
       IIF(UID_INSPECTION_POST = 0, 1, 0) AS IS_POSTTRIP_MISSING
FROM MOTRIP
WHERE (UID_CUSTOMER = (SELECT UID_CUSTOMER
                       FROM MOTRIP
                       WHERE (UID_MOTRIP = @UID_MOTRIP)))
  AND (CONVERT(date, DTTM_TRIP_START) = (SELECT CONVERT(date, DTTM_TRIP_START)
                                         FROM MOTRIP
                                         WHERE (UID_MOTRIP = @jjUID_MOTRIP)))
ORDER BY DTTM_TRIP_START DESC;

我当前的“测试”数据库只有 200 条记录,结果是即时的。

当考虑将来有一百万条记录时,我添加了一个 where 子句来限制基于 MOTRIP=409 的客户的提取。

sql
  • 1 个回答
  • 51 Views
Martin Hope
John D
Asked: 2023-11-16 03:03:24 +0800 CST

如何使用 JOINS 和 SUM() 从现有数据生成新的查询结果?

  • 5

使用 SQL Server Management Studio v19.1。

我需要帮助。我花了几个小时尝试各种连接和聚合以获得结果,但我无法让它为我工作。欢迎您的帮助。

我们有这样一个查询结果表:

UID_MOTRIP  INT_SEVERITY    BOOL_IS_NOTE_HOT     CountQ1
--------------------------------------------------------
    1           2                   0               2
    1           2                   1               3
    1           4                   0               1

INT_SEVERITY 值为 2 是“常规”缺陷,值为 4 是“热门”缺陷。

我们需要这个结果——但我缺乏 SQL 经验......

UID_MOTRIP  RegularDefectsCount HotDefectsCount
-----------------------------------------------
    1               5               1              
sql-server
  • 1 个回答
  • 42 Views
Martin Hope
John D
Asked: 2023-08-31 07:34:01 +0800 CST

初始化 classObject = new(); 时出现编译错误

  • 5

在我们的 .NET REST-API 中,我有一个 DTO 类和一个 C# 控制器类。DTO 类如下,没有任何编译错误。该 DTO 包含一个用于检查的变量和一个用于检查期间观察到的缺陷列表的 IEnumerable/list-variable。当没有缺陷时,“列表”可能为空。这类似于添加具有多个发票项目的发票的排列。

public class PTInspectionAndTMDefectsDTO {

public required PTINSPECTION PtInspection { get; set; }
public IEnumerable<TMDEFECT> TMDefects { get; set; } = Enumerable.Empty<TMDEFECT>();

// Constructors.
public PTInspectionAndTMDefectsDTO(PTINSPECTION ptinspection) { PtInspection = ptinspection; }
public PTInspectionAndTMDefectsDTO(PTINSPECTION ptinspection, IEnumerable<TMDEFECT> tmdefects) { PtInspection = ptinspection; TMDefects = tmdefects; }
}

这是控制器功能代码,我PTInspectionAndTMDefectsDTO createdInspectionAndDefects使用提供所需 PTInspection 变量的第一个构造函数进行初始化。最后一个 C# 语句中出现编译错误。

[HttpPost("AddPTInspectionAndDefects")]
public async Task<IActionResult> AddPTInspectionAndDefects([FromBody] PTInspectionAndTMDefectsDTO oDataToAdd) {
    PTINSPECTION addThisInspection = oDataToAdd.PtInspection;
    IEnumerable<TMDEFECT>? addTheseDefects = oDataToAdd.TMDefects;
    PTINSPECTION createdInspection = new PTINSPECTION();
    TMDEFECT? createdDefect = new TMDEFECT();
    IEnumerable<TMDEFECT> createdDefectList = Enumerable.Empty<TMDEFECT>();
    PTInspectionAndTMDefectsDTO createdInspectionAndDefects = new(createdInspection); 
... a compilation error appears for the above sentence with a red-squiggle under the word [new] -- see image below.
... other code is not provided...

在此输入图像描述

错误 CS9035 没有更多信息。我不确定为什么new(createdInspection);无效。欢迎您的帮助。谢谢...约翰

c#
  • 1 个回答
  • 17 Views
Martin Hope
John D
Asked: 2023-08-18 07:31:17 +0800 CST

ASP.NET Core 5 Web API for CRUD 返回值太复杂,控制器无法返回

  • 4

在我的 ASP.NET Core 5 Web API 控制器中,我有以下代码:

[HttpGet("GetByUID/{uid:int}")]
public async Task<ActionResult<PTHeading>> GetPTHeading(int uid) 
{
    APIEntityResponse<PTHeading> getResponse = new();

    var getResult = await _controller.GetByValue("UID_PTHEADING", uid.ToString());

    if (getResult is null) 
    {
        return StatusCode(StatusCodes.Status500InternalServerError,
            $"Error retrieving {m_sControllerName} data from the database.");
    } 
    else 
    {
        return Ok(getResult.Result);
    }
}   

这会在 SWAGGER 中产生以下结果:

{
  "value": {
    "isSuccess": true,
    "errorMessages": [],
    "data": {
      "uiD_PTHEADING": 14,
      "uiD_CUSTOMER": 17,
      "txT_PTHEADING_NAME": "Exterior",
      "booL_IS_ACTIVE": true,
      "inT_SORT_ORDER": 1
    }
  },
  "formatters": [],
  "contentTypes": [],
  "declaredType": null,
  "statusCode": 200
}

这不是我需要退货的。我只需要返回这一部分...

{
  "isSuccess": true,
  "errorMessages": [],
  "data": {
     "uiD_PTHEADING": 14,
     "uiD_CUSTOMER": 17,
     "txT_PTHEADING_NAME": "Exterior",
     "booL_IS_ACTIVE": true,
     "inT_SORT_ORDER": 1
   }
}

getResult.Result 值如下所示:

在此输入图像描述

我不知道如何将此作为返回值。

欢迎任何评论、问题或解决方案。谢谢...约翰

c#
  • 1 个回答
  • 37 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve