THROW在T-SQL存储过程中使用语句时,我面临着名的"不正确的语法" .我用Google搜索并检查了StackOverflow上的问题,但提出的解决方案(奇怪的是,接受了)对我不起作用.
我正在修改存储过程如下:
ALTER PROCEDURE [dbo].[CONVERT_Q_TO_O]
@Q_ID int = NULL,
@IDENTITY INT = NULL OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @EXISTING_RECORD_COUNT [int];
SELECT
@EXISTING_RECORD_COUNT = COUNT (*)
FROM
[dbo].[O]
WHERE
[Q_ID] = @Q_ID
IF @EXISTING_RECORD_COUNT = 0
BEGIN
-- DO SOME STUFF HERE
-- RETURN NEW ID
SELECT @IDENTITY = SCOPE_IDENTITY()
END
ELSE
BEGIN
THROW 99001, 'O associated with the given Q Id already exists', 1;
END
END
GO
Run Code Online (Sandbox Code Playgroud)
当我编写这个T-SQL时,我得到一个错误说
"THROW"附近的错误陈述.期待对话,对话,分发或交易
所有解决方案都建议在'THROW'之前或'ELSE BEGIN'语句之后放置一个分号.当我修改T-SQL时,我只是在'THROW'附近得到" 错误的语句 "错误,似乎无法找到解决方案.
有什么建议?
根据这篇文章int是支持类型enum.
当我检查.NET System.Enum的源代码时,抽象类继承自System.ValueType抽象类.
但是,当我检查System.Int32结构时,它继承自接口,但不是从System.ValueType继承.
相反,当我反编译mscorlib.dll并检查Int32结构时,它说结构的基类型为System.ValueType.

但仍然检查反编译的源代码我看不到任何关于System.ValueType.

这让我觉得struct关键字使自动Sytem.ValueType变为自动化,微软也在此引用中表示.
但我还是有一个问题.据我所知,从同一个父级继承两个不同的类并不意味着一个也继承自其他类.我的意思是,如果B:A和C:A这并不总是意味着C:B.
另外,当我检查源代码时,System.Enum实现方式有很大差异System.Int32.
回到起源,在这种情况下,如何得出"System.Int32"是支持类型的结果System.Enum?
谁能解释一下?
问候.
我有以下课程:
public class Owner
{
public string Id { get; set; }
public string Name { get; set; }
}
public class Main
{
public string Id { get; set; }
public string Name { get; set; }
public List<Owner> Owners { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想转换List<Main>到List<FlatList>FlatList 所在的位置
public class FlatList
{
public string Id { get; set; } // Id from Main
public string Name { get; set; } // Name from Main
public string …Run Code Online (Sandbox Code Playgroud) 我正在尝试JSON通过以下jQuery Ajax调用将字符串化的对象发送到MVC方法:
$.ajax({
type: "POST",
url: "UpdateItem",
contentType: "application/json; charset=utf-8",
dataType: "json",
processData : false,
data:
{
item: JSON.stringify(_item)
},
success: function (data) {
alert(data);
},
error: function (x, t, m, b) {
DisplayErrorMessage(x.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
我的数据的字符串化版本如下:
{
"Id": 4,
"ParentId": 1,
"TypeId": 2,
"TypeText": "Solid",
"ItemNo": 8,
"StandartTypeId": 7,
"StandartTypeText": "Dept",
"GradeTypeId": 6,
"GradeTypeText": null,
"Thickness": 0.044,
"ThicknessToleranceId": 1,
"ThicknessToleranceText": null,
"Width": 42,
"MinWeightId": 6,
"MinWeight": null,
"MinWeight2": null,
"MaxWeightId": 8,
"MaxWeight1": null,
"MaxWeight2": null,
"DefId": null, …Run Code Online (Sandbox Code Playgroud)
我有如上所示的表,我想创建一个自定义数组来传递值.
目前我使用以下代码行:
var arr = $('input[type=text].editfield').map(function () {
return this;
}).get();
var objArr = jQuery.map(arr, function (i) {
return {
myDate: i.parentElement.previousSibling.previousSibling.previousSibling.previousSibling.previousSibling.previousSibling.childNodes[0].textContent,
myValue: i.value
}
}).get();
Run Code Online (Sandbox Code Playgroud)
我希望我的网格中的所有项目的对象数组分别以Date和Value作为属性.
但有些事情是错的,我无法解决.例如上面的代码说" jQuery.map(...).get不是函数 "
如何更正我的代码以执行正确的操作?
c# ×2
jquery ×2
.net ×1
ajax ×1
arrays ×1
asp.net-mvc ×1
enums ×1
inheritance ×1
int ×1
javascript ×1
json ×1
linq ×1
object ×1
sql-server ×1
t-sql ×1
throw ×1