小编Aar*_*and的帖子

比较DateTime结构以查找空闲槽

我想搜索列表中所有用户的事件,并检索每个用户在上午7点到下午7点之间没有30分钟或更长时间的所有时间.

但是,如果方法被标记为"重复出现",即比特重复出现设置为1,那么该事件将在其开始后的52周内重复出现(因此时间不可用).在存储过程中处理这些事件的检索.

到目前为止,我的代码如下.我正在以正确的方式写这个程序吗?我不确定如何继续按照我的意愿返回功能.有人能帮我这个吗?

List<string> usernames = //List of usernames.
DateTime start = //DateTime for start of period you would like to schedule meeting
DateTime end = //DateTime for end of period
//int mins = //duration of meeting (must be 30mins or greater)

foreach (string username in usernames) {
   //retrieve events for this user
    var db = Database.Open("mPlan");
    List<DateTime> startTimes;
    List<DateTime  endTimes;
    // This stored procedure returns all events of a user in a given time period, 
    // including recurring events. …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server datetime scheduling

16
推荐指数
1
解决办法
2317
查看次数

CASE(包含)而不是平等的陈述

是否有一种方法可以使用包含而不是相等的case语句?

例如,我正在检查数据库表是否有条目

lactulose, Lasix (furosemide), oxazepam, propranolol, rabeprazole, sertraline, 
Run Code Online (Sandbox Code Playgroud)

我可以用吗

CASE When dbo.Table.Column = 'lactulose' Then 'BP Medication' ELSE '' END AS 'BP Medication'
Run Code Online (Sandbox Code Playgroud)

这没用.

提前致谢

sql-server sql-server-2008

16
推荐指数
2
解决办法
8万
查看次数

将datediff显示为秒,毫秒

我正在尝试计算两个日期时间值之间的差异.

我试过datediff(s, begin,end),datediff(ms, begin,end)但是我希望区别seconds,milliseconds如下:

4,14
63,54
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server datetime

16
推荐指数
2
解决办法
4万
查看次数

SqlException:'GO'附近的语法错误

我在使用DbContext发送SQL语句时遇到问题context.Database.ExecuteSqlCommand().

我正在努力执行

CREATE TABLE Phones([Id] [uniqueidentifier] NOT NULL PRIMARY KEY,
    [Number] [int],[PhoneTypeId] [int])
GO
ALTER TABLE [dbo].[Phones] ADD  CONSTRAINT [DF_Phones_Id]  
    DEFAULT (newid()) FOR [Id]
GO
Run Code Online (Sandbox Code Playgroud)

这与错误字符串失败

Incorrect syntax near the keyword 'ALTER'.
Incorrect syntax near 'GO'.
Run Code Online (Sandbox Code Playgroud)

但是,在SSMS中运行该确切语句运行时没有错误?我需要通过DbContext解决有关默认约束的任何问题.我看到人们使用约束而没有将IsDbGenerated设置为true的问题.我不知道这会如何适用于此.

sql-server-2008 dbcontext

15
推荐指数
2
解决办法
1万
查看次数

无法执行msdb.dbo.sp_send_dbmail

我收到此错误:

消息229,级别14,状态5,过程sp_send_dbmail,行1
对象'sp_send_dbmail',数据库'msdb',架构'dbo'上的EXECUTE权限被拒绝.

代码的相关部分:

/****** Object:  StoredProcedure [dbo].[dbo.STATUSCHANGE_EMAILALERT] ******/

EXEC msdb.dbo.sp_send_dbmail
  @recipients = 'Test@gmail.com', -- Group Email
  @subject = 'Employee Status Update',
  @profile_name ='Test@gmail.com', -- Setup the profile name group
  @body = @body,
  @body_format = 'HTML';
Run Code Online (Sandbox Code Playgroud)

sql sql-server

15
推荐指数
3
解决办法
4万
查看次数

无法打开数据库,因为它是版本706.(ASP.net)

在使用asp.net的vsexpress 2012中.制作登录页面.因为我试图输入用户名并传递单词我收到以下错误

无法打开数据库'C:\ USERS\XYZ\DOCUMENTS\VISUAL STUDIO 2012\WEBSITES\WEBSITE4\APP_DATA\ASPNETDB.MDF',因为它是版本706.此服务器支持版本663及更早版本.不支持降级路径.无法打开用户默认数据库.登录失败.用户'MyName\MyName Ali'登录失败.

请建议如何解决这个问题

asp.net sql-server-2012 visual-studio-2012

15
推荐指数
1
解决办法
5万
查看次数

使用日期表达式查询运行缓慢,但使用字符串文字快速查询

我在SQL Server 2008中运行具有以下条件的查询.

Where FK.DT = CAST(DATEADD(m, DATEDIFF(m, 0, getdate()), 0) as DATE)  
Run Code Online (Sandbox Code Playgroud)

查询需要永远以上述条件运行,但如果只是说

Where FK.DT = '2013-05-01' 
Run Code Online (Sandbox Code Playgroud)

它在2分钟内运行良好.FK.DTkey包含仅月份的起始数据的值.

任何帮助,我只是无知为什么会发生这种情况.

sql sql-server-2008

15
推荐指数
2
解决办法
2万
查看次数

空表数据并重置IDENTITY列

我在SQL Server中创建了一个带有几个表的数据库.我运行了一些测试,现在已准备好部署我的解决方案,问题是,表中有各种各样的数据.我想删除用我的测试创建的所有表的每一行,并将主键放回到零.我尝试删除不重置主键索引,并删除简单地销毁表.

database sql-server-2008

14
推荐指数
2
解决办法
2万
查看次数

使用Group By获得Grand Totals

我想详细了解SQL教我的那一刻,我目前试图进行一些简单的销售使用报告SUM,COUNT,AVGGROUP BY一个SQL Server 2008数据库中的功能.我已经设法按行获得每组的总数,计数和平均值.

如何按行获取所有组的总计?

SQL到目前为止:

SELECT 
    SUM(dbo.tbl_orderitems.mon_orditems_pprice) AS prodTotal,
    AVG(dbo.tbl_orderitems.mon_orditems_pprice) AS avgPrice,
    count(dbo.tbl_orderitems.uid_orditems_prodid) AS prodQty,
    dbo.tbl_orderitems.txt_orditems_pname
FROM 
    dbo.tbl_orderitems
INNER JOIN 
    dbo.tbl_orders 
    ON (dbo.tbl_orderitems.uid_orditems_orderid = dbo.tbl_orders.uid_orders)
WHERE 
    dbo.tbl_orders.uid_order_webid = 
       <cfqueryparam cfsqltype="cf_sql_integer" value="#session.webid#">
    AND dbo.tbl_orders.txt_order_status = 
       <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.sale_status#">
GROUP BY
    dbo.tbl_orderitems.txt_orditems_pname
Run Code Online (Sandbox Code Playgroud)
Product                           Qty      Gross        Avg  

Westbury Climbing Frame           17       8,023.00     471.94
Sandpoint Deluxe Climbing Frame   34       36,146.00    1,063.12
Roseberry Climbing Frame          9        7,441.00     826.78
Ridgeview Texas Climbing Frame    10       6,990.00     699
Selwood …

sql sql-server-2008

14
推荐指数
2
解决办法
4万
查看次数

使用一个select语句返回特定范围之间的行

我正在寻找这样的表达(使用SQL Server 2008)

SELECT TOP 10 columName FROM tableName
Run Code Online (Sandbox Code Playgroud)

但是我不需要10到20之间的值.我想知道是否有一种方法只使用一个SELECT语句.

例如,这是无用的:

SELECT columName FROM
(SELECT ROW_NUMBER() OVER(ORDER BY someId) AS RowNum, * FROM tableName) AS alias
WHERE RowNum BETWEEN 10 AND 20
Run Code Online (Sandbox Code Playgroud)

因为select括号内部已经返回了所有结果,并且由于性能的原因,我希望避免这种情况.

sql database sql-server sql-server-2008

14
推荐指数
2
解决办法
5万
查看次数