我们是一个SQL Server数据库开发人员团队.我们的客户是C#/ ASP.NET,C#和Java Web服务,Java/Unix服务和一些Excel的混合包.
我们的客户端开发人员只使用我们提供的存储过程,我们希望(当然,合理的)他们将它们视为Web服务方法.
我们的一些客户端开发人员不喜欢SQL异常.他们用他们的语言理解他们,但他们不理解SQL在如何沟通问题方面受到限制.
我不只是指SQL错误,例如尝试将"bob"插入int列.
我还指的是例外,例如告诉他们参考值是错误的,或者数据已经改变,或者他们不能这样做,因为他的聚合不是零.
他们没有任何具体的替代方案:他们提到我们应该输出参数,但我们假设一个例外意味着"处理停止/回滚.
人们如何处理数据库 - 客户合同?通常或DB和客户端代码猴之间存在分离的地方.
编辑:
t-sql stored-procedures sql-server-2005 exception sql-server-2008
我有一个数据集的报告,其中包含一个包含布尔值的列.在表格页脚中,我想显示x / y其中x有多少行true以及y总共有多少行.
目前我有这个:
=Count(Fields!Transfered.Value).ToString() + " / " + CountRows().ToString()
Run Code Online (Sandbox Code Playgroud)
但第一部分与最后部分相同.然后我尝试了这个:
=Sum(Fields!Transfered.Value).ToString() + " / " + CountRows().ToString()
Run Code Online (Sandbox Code Playgroud)
但这会产生错误,我想我可以理解.我认为如果我将布尔值转换为数字,其中true为1且false为0,那么它可以很好地解决.但是我该怎么做呢?或者这是一个更聪明的方式一起完成这一切?
更新:现在也尝试过了
=Sum(CInt(Fields!Transfered.Value)).ToString() + " / " + CountRows().ToString()
Run Code Online (Sandbox Code Playgroud)
并得到了负面结果......哦
还找到了一种有效的方法,我将其作为答案发布.但我不会接受它作为答案,但是有人有更好的方法来做到这一点=)
我正在尝试使用ASP.NET和C#从sql reportserver 2008发送报告作为电子邮件附件,直到现在我学会了如何在我的代码中获取PDF报告,现在我想要组合代码行
byte[] bytes = rview.ServerReport.Render(format, deviceInfo, out mimeType, out encoding, out extension, out streamids, out warnings);
Response.OutputStream.Write(bytes, 0, bytes.Length);
Attachment reportAttachment = new Attachment(Response.OutputStream.Write(bytes,0,bytes.Length),"ado"); //Here I go wrong
Run Code Online (Sandbox Code Playgroud)
Thanx提前
我可以问一下xp_sendmail和sp_send_dbmailproc 之间的区别是什么?它们都向指定的收件人发送电子邮件,其中可能包含查询结果集附件.....
有什么不同?
我有同一数据库的两个实例。第一个数据库代表今天的数据,第二个数据库代表6个月前的数据。我需要找到特定表中条目子集的差异。
对于两个表中都有ID的条目,我想找到一种方法来仅查看不相同的行。
有任何想法吗?
谢谢
如果我使用SqlCommand运行存储过程并且SqlCommand超时,StoredProc会继续执行还是在SqlCommand断开连接时强行退出?
我正在编写一个后台服务,需要处理一系列作业,作为记录存储在sqlserver表中.该服务需要找到需要工作的最早的20个作业(where status = 'new'),标记它们(set status = 'processing'),运行它们,然后更新作业.
这是我需要帮助的第一部分.可能有多个线程同时访问数据库,我想确保"标记和返回"查询以原子方式或几乎原样运行.
这项服务将花费相对较少的时间来访问数据库,如果一个作业运行两次,它就不是世界末日,所以我可能会接受一小部分作业运行的概率,以提高代码的简单性.
做这个的最好方式是什么?我正在为我的数据层使用linq-to-sql,但我认为我必须为此调入t-sql.
我试图想出一种方法来查询同一个表中两个不同列中的值,其中结果集将指示columnB的值不包含columnA值的实例.
例如,我的"节点"表包含"NodeName"和"DNS"列.值应类似于以下内容:
NodeName DNS
Router1 Router1.mydomain.com
Run Code Online (Sandbox Code Playgroud)
我想运行一个查询来显示哪些行的DNS值不包含(或以NodeName字段的值开头).我认为查询应该具有类似于以下内容的功能,但显然我在这种情况下缺少关于使用"Like"的内容.
SELECT NodeName, DNS
WHERE DNS NOT LIKE 'NodeName%'
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL Server 2005,任何建议都将非常感谢...... :)
如何让mysql理解整数/浮点字段中的非英语小数点?
setLocale(LC_ALL, 'da_DK.ISO-8859-1');
Run Code Online (Sandbox Code Playgroud)
例如:
0,25 will be inserted as 0
0.25 will be inserted as 0.25
Run Code Online (Sandbox Code Playgroud) 我有几个条件,结果应该是相同的.我搜索网络,发现这样的东西:
CASE ProductLine
WHEN 'R' THEN 'Road'
WHEN 'M' THEN 'Mountain'
WHEN 'T' THEN 'Touring'
WHEN 'S' THEN 'Other sale items'
ELSE 'Not for sale'
END
Run Code Online (Sandbox Code Playgroud)
这很好,但不是我需要的,对我来说更像R,M,T和S都有相同的结果,例如A,B,C,D没有.我该怎么做?我无法与OR连接,或者至少我没有设法:).这样的事可能吗?
CASE ProductLine
WHEN 'R' OR 'M' OR ... THEN 'Road'
ELSE 'Not for sale'
END
Run Code Online (Sandbox Code Playgroud) sql-server ×6
sql ×4
t-sql ×3
c# ×2
asp.net ×1
case-when ×1
concurrency ×1
exception ×1
linq-to-sql ×1
mysql ×1
php ×1
sqlcommand ×1
sqlmail ×1
timeout ×1
vb.net ×1