我有一个存储过程,每次从Web应用程序调用它都会疯狂地超时.
我启动了Sql Profiler并跟踪了那些超时的调用,最后找到了这些东西:
除此之外,我的web应用程序都有自己的用户事实上,每一件事情是相同的(相同的数据库,连接,服务器等),我也试过直接与Web应用程序的用户的工作室运行查询,并没有花费超过6秒.
我怎样才能知道发生了什么?
我假设它与我们使用BLL> DAL图层或表适配器这一事实无关,因为跟踪清楚地显示了延迟在实际过程中.这就是我所能想到的.
编辑我在这个链接中发现ADO.NET设置ARITHABORT为true - 这在大多数情况下是好的,但有时会发生这种情况,建议的解决方法是向with recompile存储过程添加选项.在我的情况下,它不起作用,但我怀疑它与此非常相似.任何人都知道ADO.NET做了什么或者我在哪里可以找到规范?
我是ajax-ifying在我的一个项目中的分页,因为我希望用户能够为当前页面添加书签,我通过哈希附加页码,说:
onclick="callPage(2); window.location.hash='p=2'; return false;"
Run Code Online (Sandbox Code Playgroud)
并且hyperlink它在它上面工作正常和一切,除了,当页码是1,我不想URL成为/products#p=1,我只是希望它是/products
我试过这些变化:
window.location.hash=''工作,但网址现在像/products#,我不是那里的哈希./products#p=3因为我没有弄乱哈希.<a href="#">,他应该使用javascript:void(0).(他们从未听说过Ajax吗?)所以最后,我决定制作这个帖子,我在这里发现了几个类似的线程,但所有的答案与我的第二点非常相似.
所以我的一个大问题仍然是一个问题:如何从网址中挖出哈希,并可能离开宇宙?(仅限第一页!)
我最近开始使用LINQPad测试零碎,节省了大量时间.
但是,有时它会给我带来一些小错误的错误.
当我想测试这个:
HttpUtility.UrlPathEncode("Make sure");
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:The name 'HttpUtility' does not exist in the current context.
有没有办法让它识别像HttpUtility这样的基本内容?
System.Web.HttpUtility.UrlPathEncode("Make sure")
Run Code Online (Sandbox Code Playgroud)
我被证明了这一点: The type or namespace name 'HttpUtility' does not exist in the namespace 'System.Web'
我有一个Sql Server表..它是这样的:
Id ...... Column1 ...... Column2 ```````````````````````````````` 1 ........ 1 ............. 34 2 ........ 1 ............. 44 3 ........ 2 ............. 45 4 ........ 2 ............. 36 5 ........ 2 ............. 23 6 ........ 3 ............. 68 7 ........ 3 ............. 26
因此,我需要选择Column2的平均值,但是在执行此操作之前,请选择column1的列.
我的意思是,如果我说Avg(Column2)它只返回一行,其中包含所有行的平均值.
我需要的是,首先我需要按列对它们进行分组,以便:
column2的平均值,其中column1 = 1
column2的平均值,其中column1 = 2
column2的平均值column1 = 3
所以我希望返回3行,其中包含column1各自值的平均值.我迷失了这个,有任何提示/帮助吗?
ps:我尝试了几个相关的问题,但没有一个帮助/我无法理解.
首先,请不要认为这不是一个与编程相关的问题,因为它非常重要.
当我以前在高中使用VB 6时,MSDN真是太棒了,我从来没有在其他任何地方寻求帮助.然后是整个.net和在线MSDN,什么不是,并且不再有任何实际的例子.我慢慢开始避免使用MSDN,现在当我在Google上搜索某些内容时,我会立即加入-msdn其中.
如果你举一个ArrayList计数的简单例子,没有提到必须像这样使用count:
ArrayList tmpArray = new ArrayList();
tmpArray.Add("something");
LabelCount.text = tmpArray.Count;
Run Code Online (Sandbox Code Playgroud)
好吧,这是一个糟糕的例子,但你明白了.MSDN拥有它的方式实际上非常有用,如果你对成员变量是什么有基本的想法等等.但是如果你不熟悉c#,那么你将完全迷失.
再说一次,我是c#的初学者,在.net上工作不到一年,所以如果我看看LinQ等更复杂的东西,或者使用DataSets等操作,我不知道发生了什么.
PHP文档非常简洁!一个简单的strlen有一个简洁的描述返回值,函数参数等,加上评论部分有很多用户给出了这么多有价值的用法示例strlen,我发现它真的非常相关和有用.
我确信它不是MSDN难以理解的,而是我不懂的MSDN.
有没有办法在MSDN中查看和理解?你们怎么推荐MSDN?任何帮助赞赏.谢谢.
ps:是的,在我来到.net之前,我曾经和php一起工作了相当长的时间.
pps:对不起,现在我想不出任何正确的页面和情况,我有这个问题所以我只是给出了我的问题的一般描述,但我几乎总是遇到这个 - 从来没有理解msdn甚至我的朋友告诉我他从不提起它.所以想知道它到底在做什么.或者,我在这里做什么不知道如何参考官方文件.
我的代码中有一个DataTable,比如pdt.我只想选择all table["id"]并在整数数组中填充.
我可以继续,foreach但我正在尝试学习Lambda表达式.我无法弄清楚如何处理这个问题.
我试过了
List<int> Ids = pdt.Select(row => row["Id"]; return Convert.ToInt32(r));
Run Code Online (Sandbox Code Playgroud)
和
int[] Ids = pdt.Select(row => row["Id"]);
Run Code Online (Sandbox Code Playgroud)
但似乎没什么用.我很确定这是一个基本问题,请帮助新手.
我有一张桌子,类似于:
Id Name EnteredOn Percentage
`````````````````````````````````````````````````````````````
01 person1 2011-03-09 17:29:35.683 56.29
02 person1 2011-03-09 17:29:35.731 76.29
03 person1 2011-03-09 18:15:78.683 56.29
04 person1 2011-03-10 17:29:35.683 56.29
05 person1 2011-03-10 16:29:31.683 56.29
06 person1 2011-03-11 17:29:35.683 56.29
Run Code Online (Sandbox Code Playgroud)
总结上面的表格,有3排了一天09和2行白天10.
现在,我只想选择最新的行 - 每行一行.
(一行为9,一行为10,一行为11)
由于时间戳,我不能使用distinct.我不能分组并使用:
CAST(CONVERT(FLOAT, EnteredOn) AS INT)
Run Code Online (Sandbox Code Playgroud)
因为当我选择EnteredOn字段时,它会抱怨它没有分组.我无法合并distinct(cast..date...)因为我无法获得正确的语法.
我如何选择 - 只有Name,EnteredOn,Percentage字段与每天不同?
提前谢谢了.
我在asp.net环境中有3个下拉框(组合框).它们都是可选的,所以如果用户选择了任何东西,我正在更新数据库,如果根本没有选择任何东西,我仍在使用空值更新数据库.
我试着这样做:
int? CountryId = Convert.ToInt32(ddCountries.SelectedItem.Value);
Run Code Online (Sandbox Code Playgroud)
我希望如果没有选择null,将在CountryId中插入null,而是抛出异常.
我试图搜索ddCountries.isSelected(或类似的东西),但它显然不存在..
那么如何确定是否在下拉框中进行了选择? - 通过c#代码.
非常感谢
ps:我有一个想法 - 我把每个下拉框放在一个try ... catch块中,如果出现异常,手动将变量设置为null ...但我不确定这是最好的方法!
我有一个存储过程,例如,"call_Me",参数很少:
Declare @Greet varchar(100) = 'Hi ||User||'
Exec Call_Me 1,'something', @Greet --parameters: bit, string, string
Run Code Online (Sandbox Code Playgroud)
在通话期间,我希望能够更换
||User||
Run Code Online (Sandbox Code Playgroud)
咬别的东西.通常,在select语句中,我会这样做:
select 1, 'something', Replace(@Greet, '||User||', u.Username) from UserTable
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但今天,我第一次尝试在exec语句中使用它,错误说它期待选择,我尝试在每种可能的(和明智的)方式添加select但它似乎没有成功.
如何在执行语句调用期间使用替换?
提前谢谢了!
我有一个10行的DataTable,其中一列是随机编号为1到10的列.我想对它们进行排序.通常,我这样做:
DataView Dv = new DataView(dtPost, "", "views desc", DataViewRowState.Unchanged);
repeater.DataSource = Dv;
repeater.DataBind();
Run Code Online (Sandbox Code Playgroud)
现在,我只想绑定此Dataview中的前5行.如果我试试这个:
DvPopBlogs.Table.Rows.Cast<System.Data.DataRow>().Take(5);
OR
DvPopBlogs.Table.AsEnumerable().Take(5); //this usually works if sorting wasnt necessary
Run Code Online (Sandbox Code Playgroud)
它工作正常,但dataView完全忘记了排序,只从顶部选择了5行.
我也尝试过所有的DataViewRowStates.排序后如何选择前5行?
我好像没想到了!请帮忙!
c# ×3
sql-server ×2
.net ×1
.net-4.0 ×1
ado.net ×1
ajax ×1
asp.net ×1
average ×1
dataview ×1
dropdownbox ×1
exec ×1
javascript ×1
linq ×1
linqpad ×1
msdn ×1
replace ×1
selecteditem ×1
sql ×1
t-sql ×1