Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 生产线周报_C#_Sql_Sql Server 2005 - Fatal编程技术网

C# 生产线周报

C# 生产线周报,c#,sql,sql-server-2005,C#,Sql,Sql Server 2005,我正在做一个行周报,用户将为此报告选择两个日期。例如,用户希望看到两个日期之间的数据。我在一个web应用程序中做这件事 我编写了如下代码: @"select distinct d1.machine as Machine,CASE WHEN t.time BETWEEN '1900-01-01 7:00:00.000' AND '1900-01-01 14:59:59.999' THEN 'Shift1' WHEN t.time BETWEEN '1900-01-01 15:00:0

我正在做一个行周报,用户将为此报告选择两个日期。例如,用户希望看到两个日期之间的数据。我在一个web应用程序中做这件事

我编写了如下代码:

@"select distinct d1.machine as Machine,CASE  WHEN t.time BETWEEN '1900-01-01 7:00:00.000' 

AND '1900-01-01 14:59:59.999' THEN 'Shift1'   WHEN t.time BETWEEN '1900-01-01 

15:00:00.000' AND '1900-01-01 22:59:59.999' THEN 'Shift2' WHEN t.time BETWEEN '1900-01-01 

23:00:00.000' AND '1900-01-01 23:59:59.999' THEN 'Shift3' WHEN t.time BETWEEN '1900-01-01 

00:00:00.000' AND '1900-01-01 06:59:59.999' THEN 'Shift3' END as Shiftname,CASE  WHEN 

t.time BETWEEN '1900-01-01 7:00:00.000' AND '1900-01-01 14:59:59.999' THEN 'Operator1' 

  WHEN t.time BETWEEN '1900-01-01 15:00:00.000' AND '1900-01-01 22:59:59.999' 

THEN 'Operator2' WHEN t.time BETWEEN '1900-01-01 23:00:00.000' AND '1900-01-01 

23:59:59.999' THEN 'Operator3' WHEN t.time BETWEEN '1900-01-01 00:00:00.000' AND '1900-01-

01 06:59:59.999' THEN 'Operator3' END as OperatorName, Date=convert(varchar

(12),t.date,101),Time=convert(varchar(8),t.time,8),Temprature as 

Temperature,Pressure,Co2,Do2,pH,Speed,Flow from datalogging1 d1 inner join   temprature3 

t  on d1.date=t.date inner join pressure3 p on p.date=t.date and datepart(hour,t.time)

=datepart(hour,p.time) and datepart(minute,t.time)=datepart(minute,p.time) inner join co23 

c on c.date=t.date and datepart(hour,t.time)=datepart(hour,c.time) and datepart

(minute,t.time)=datepart(minute,c.time) inner join do23 d on d.date=t.date and datepart

(hour,t.time)=datepart(hour,d.time) and datepart(minute,t.time)=datepart(minute,d.time) 

inner join ph3 h on h.date=t.date and datepart(hour,t.time)=datepart(hour,h.time) and 

datepart(minute,t.time)=datepart(minute,h.time) inner join speed3 s on s.date=t.date and 

datepart(hour,t.time)=datepart(hour,s.time) and datepart(minute,t.time)=datepart

(minute,s.time) inner join flow3 f on f.date=t.date and datepart(hour,t.time)=datepart

(hour,f.time) and datepart(minute,t.time)=datepart(minute,f.time) where t.date 

between '"+txtfromdate+@"' and '"+txttodate+@"' and  line='"+ddlline.SelectedItem+@"' union 

select distinct d1.machine as Machine, CASE  WHEN t.time BETWEEN '1900-01-01 7:00:00.000'

 AND '1900-01-01 14:59:59.999' THEN 'Shift1'   WHEN t.time BETWEEN '1900-01-01 

15:00:00.000' AND '1900-01-01 22:59:59.999' THEN 'Shift2' WHEN t.time BETWEEN '1900-01-01

 23:00:00.000' AND '1900-01-01 23:59:59.999' THEN 'Shift3' WHEN t.time BETWEEN '1900-01-01

 00:00:00.000' AND '1900-01-01 6:59:59.999' THEN 'Shift3' END as Shiftname,CASE  WHEN 

t.time BETWEEN '1900-01-01 7:00:00.000' AND '1900-01-01 14:59:59.999' THEN 'Operator1'   

WHEN t.time BETWEEN '1900-01-01 15:00:00.000' AND '1900-01-01 22:59:59.999' 

THEN 'Operator2' WHEN t.time BETWEEN '1900-01-01 23:00:00.000' AND '1900-01-01 

23:59:59.999' THEN 'Operator3' WHEN t.time BETWEEN '1900-01-01 00:00:00.000' AND '1900-01-

01 6:59:59.999' THEN 'Operator3' END as OperatorName,Date=convert(varchar

(12),t.date,101),Time=convert(varchar(8),t.time,8),Temprature as 

Temperature,Pressure,Co2,Do2,pH,Speed,Flow from datalogging1 d1 inner join temprature3 t 

on d1.date=t.date inner join pressure3 p on p.date=t.date and datepart(hour,t.time)

=datepart(hour,p.time) and datepart(minute,t.time)=datepart(minute,p.time) inner join co23

 c on c.date=t.date and datepart(hour,t.time)=datepart(hour,c.time) and datepart

(minute,t.time)=datepart(minute,c.time) inner join do23 d on d.date=t.date and datepart

(hour,t.time)=datepart(hour,d.time) and datepart(minute,t.time)=datepart(minute,d.time) 

inner join ph3 h on h.date=t.date and datepart(hour,t.time)=datepart(hour,h.time) and 

datepart(minute,t.time)=datepart(minute,h.time) inner join speed3 s on s.date=t.date and 

datepart(hour,t.time)=datepart(hour,s.time) and datepart(minute,t.time)=datepart

(minute,s.time) inner join flow3 f on f.date=t.date and datepart(hour,t.time)=datepart

(hour,f.time) and datepart(minute,t.time)=datepart(minute,f.time) where t.date=dateadd

(day,1,'"+txttodate+@"') and line='"+ddlline.SelectedItem+@"' order by 

date,time,machine,shiftname,operatorname"
它在SQL Server中执行,但当我将其包含在应用程序中时,它会显示如下错误

将字符串转换为smalldatetime数据类型时,转换失败


有人能帮我吗?

在转换为DateTime或SqlDateTime后,尝试将它们作为参数传递,而不是对txtfromdate和TXTODate使用字符串连接。您几乎可以肯定的是,这些控件中的文本的格式是SQL Server无法解释的