我试图找出在另一个存储过程中执行存储过程时如何返回存储过程的输出参数:
CREATE PROCEDURE Test1
EXEC SpWithOutputID -- Outputs @ID
SELECT @ID as ID -- Output @ID now being used in this SP
Run Code Online (Sandbox Code Playgroud)
这当然不是我的代码,只是一个例子,可以这样做吗?
示例2:--这里@ID返回Null
CREATE PROCEDURE Test1
As
DECLARE @ID int
EXEC SpWithOutputID @ID = @ID OUTPUT -- Outputs @ID
SELECT @ID as ID -- Output @ID now being used in this SP
Run Code Online (Sandbox Code Playgroud)
示例3:--这里@ID返回一个Int
CREATE PROCEDURE Test1
As
EXEC SpWithOutputID -- Outputs @ID
Run Code Online (Sandbox Code Playgroud) 是否可以为SELECT中的每一行执行存储过程?这只执行第一行,查找要为所有行执行的操作:
Declare
@Loop bit = 1, @ID int, @Exists bit, @ReturnValue bit = 0
WHILE (@Loop) = 1
BEGIN
SELECT @ID = ID FROM Table --Multiple Rows Returned
EXEC [dbo].[StoredProc1] --Exec SP for Each Row
@InputID = @ID
,@Exists = @Exists OUTPUT
IF @Exists = 1
BEGIN
SET @Loop = 0
SET @ReturnValue = 1
END
END
SELECT @ReturnValue [ReturnValue]
Run Code Online (Sandbox Code Playgroud) 在开始循环之前,这可以在jQuery中快速完成吗?或者我是否还需要在数据的响应中设置一个单独的组,总计数为...即第一个变量?
常见的响应看起来像这样:
[
{"name":"Tu\u011Frul","surname":"Topuz","message":"Hello World"}
,{"name":"Tu\u011Frul","surname":"Topuz","message":"Hello World"}
]
Run Code Online (Sandbox Code Playgroud)
但是我会使用jQuery 2作为总计数返回(在我循环遍历它们之前吗?)或者我需要做这样的事情吗?
[
{"total":"2"}
,{"name":"Tu\u011Frul","surname":"Topuz","message":"Hello World"}
,{"name":"Tu\u011Frul","surname":"Topuz","message":"Hello World"}
]
Run Code Online (Sandbox Code Playgroud)
什么是最有效/最常见(优化方式)的方式?
我在这里有一个查询,我很好奇是否有更短的编写此查询的方法,这意味着减少查询使用IF参数来确定它是否应该在语句中使用param.请看下面:
@Param varchar(10) = NULL
IF @Param IS NOT NULL
BEGIN
SELECT * FROM TABLE WHERE Column = @Param
END
ELSE
BEGIN
SELECT * FROM TABLE
END
Run Code Online (Sandbox Code Playgroud)
这可以简化为一个简单的查询,而不是这样吗?
@Param varchar(10) = NULL
SELECT * FROM TABLE WHERE Column = COALESCE( Any, @Param )
Run Code Online (Sandbox Code Playgroud)
我看了看Coalesce,但没看到我是否可以使用Any某种功能.我希望这是有道理的.
问题是如何实现这一目标.第二个问题是哪个会更好?
出于某种原因,我无法编码到重置按钮.我有这个代码:
<form name="sub">
...
<button type=submit>Submit</button>
<button type=reset>Reset</button>
</form>
Run Code Online (Sandbox Code Playgroud)
当我点击重置时,它像往常一样重置表格.但是,当我尝试在按钮上绑定手动重置选项时,如此代码,它会返回错误:
var $f = $("form[name=sub]");
$f.find("button[type=reset]").click(function(e){
e.preventDefault();
$f.reset(); // <-- Uncaught TypeError: undefined is not a function
$(window).scrollTop(0);
});
Run Code Online (Sandbox Code Playgroud)
我收到此错误: Uncaught TypeError: undefined is not a function
尝试使用document.form.sub.reset();和尝试$f =(全局变量)而不是var $f =它也不起作用.这是怎么回事 ?
我想查找具有特定选择器的所有项目,并尽快返回所有标题.我知道我可以用它.each()来遍历它们并填充变量,但我想.join()尽可能使用它.
这是我如何使用它 .each()
var pop = "";
$("a").each(function(i,v){
var pop = pop + $(this).attr("title") + ',';
});
//now pop looks like: "title1,title2,etc"
Run Code Online (Sandbox Code Playgroud)
如何使用CSV格式返回所有标题.join()?
我尝试了这个,但它不起作用:
var pop = $("a").title.join(',');
Run Code Online (Sandbox Code Playgroud) 在开发工具中,它显示如下类型:
IClass {Class23}
Run Code Online (Sandbox Code Playgroud)
在调试器中(运行时),它将其显示为以下类型:
Class23
Run Code Online (Sandbox Code Playgroud)
IClass并且Class23具有不同的属性,似乎我可以在它作为类型运行时访问它,但是当我尝试编码属性时它不会构建,Class23因为intellisense希望我输入属性IClass.有人可以解释这种行为以及我应该从Class23对象何时访问属性IClass {Class23}?
我试过这个,但它只返回null:
Class23 myclass = Function(returns IClass {Class23}) as Class23
Run Code Online (Sandbox Code Playgroud)
救命!
一些代码,不确定它是否有帮助:
Bucket Cats = Dictionary1["key1"] as Bucket;
IEnumerable<IClass> links = Cats.Links;
// this should actually be `Class23`
var Name = links.ElementAt(0).Name; //<--Error
Run Code Online (Sandbox Code Playgroud) 代码是这样的
INSERT INTO TABLE (VAL1,VAL2,VAL3) VALUES (X,Y,Z)
GetLastInsertID @tablename='TABLE'
Run Code Online (Sandbox Code Playgroud)
GetLastInsertID是此存储过程:
SELECT @@IDENTITY AS LastID FROM TABLE
Run Code Online (Sandbox Code Playgroud)
如何让存储过程按照上面的Select @@ IDENTITY语句中的请求返回'LastID'?
我收到以下错误:
Incorrect syntax near 'GetLastInsertId'.
Run Code Online (Sandbox Code Playgroud)
......但是当它自己执行时,它可以正常工作:
GetLastInsertID @tablename='TABLE'
Run Code Online (Sandbox Code Playgroud)
好的,谢谢我将它更新为Scope_Identity().但是你说不要把它放在不同的SP中,把它放在与插入器相同的SP中?
再次,当我将插入与此组合时,我仍然会收到错误:
SELECT SCOPE_IDENTITY() AS LastID FROM TABLE
Run Code Online (Sandbox Code Playgroud)
这是新的错误消息:
There is already an object named 'TABLE' in the database.
Run Code Online (Sandbox Code Playgroud) 不是指页面顶部的URL.
当<a>标签在Chrome被打印出来,它显示了后它的URL.
而不是仅仅显示了锚文本(是这样的:StackOverflow)
它显示了后面的锚文本w/URL
(像这样: StackOverflow (window.open('www.stackoverflow.com'))
这使得打印页面延伸到可打印区域,我试图避免这种情况发生.是否可以在打印模式下以某种方式禁用此设置,或者是否@media print可以定义样式以从打印屏幕中删除此URL部分?
我正在尝试运行此代码:
var db = Database.Open("DBNAME");
var q = "Select Name From Table";
@foreach(var row in db.Query(q)){
<li> @row.Name </li>
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了错误 System.InvalidOperationException: Connection string "DBNAME" was not found.
所以我进入WebMatrix 3并Other Connections在WebMatrix3应用程序中添加了这个数据库,并且运行良好.但是我提供给WebMatrix添加到连接的连接字符串没有附加到web.config文件,我仍然得到这个错误,所以不知道还能做什么?建议?
此外,这样的数据库连接是否必须关闭?我在这个例子中没有看到一个密切的声明,来自这里:http://www.w3schools.com/aspnet/webpages_database.asp
更新:我在web.config中添加了以下设置:
<connectionStrings>
<add name="DBNAME" connectionString="server=(local)\Server;database=DBNAME;uid=myUser;password=myPass;" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
现在我得到以下错误:System.ArgumentException: Keyword not supported: 'server'.< - 此错误显示该@foreach行