Einzelnen Beitrag anzeigen

Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#1

MSSQL Stored Procedure -> datetime vergleichsprobleme???

  Alt 7. Mai 2008, 16:37
hi

ich schreibe ein delphiprogramm das folgende storedprocedure verwendet:

SQL-Code:
ALTER PROCEDURE [dbo].[p_bb_ignore_folder]
@username varchar(30),
@ignore_dir varchar(255),
@date_time datetime

AS
DECLARE
  @size bigint,
  @id_user int

SET @size = -1;
SET @id_user = (SELECT [t_bb_user].[id_user] FROM [t_bb_user] WHERE [t_bb_user].[username] = @username);
SET @size = ( SELECT SUM([t_bb_folder_info].[folder_size]) FROM [t_bb_folder_info]
  WHERE (
          ([t_bb_folder_info].[folder] LIKE @ignore_dir+'%')
          AND ([t_bb_folder_info].[id_user] = @id_user)
          AND ([t_bb_folder_info].[date_time] = @date_time)
  )
);

UPDATE t_bb_logon
SET
  [t_bb_logon].[ignore_dir_size] = @size
WHERE (
        ([t_bb_logon].[id_user] = @id_user)
        /*AND ([t_bb_logon].[date_time] = @date_time)*/ 
         
);
das Problem liegt in dieser Zeile (in der ersten WHERE Klausel):
AND ([t_bb_folder_info].[date_time] = @date_time) also obwohl in der tabelle mehrere Einträge vorhanden sind die dieser Bedinung entspechen, meint sql das es eben nicht so ist...

lasse ich die Zeile weg oder kommentiere ich sie aus, passiert was passieren soll..

kann ich das: AND ([t_bb_folder_info].[date_time] = @date_time) grundsätzlich nicht so machen?
ich will die bedingung , dass nur die "folder_size" zusammengezählt werden, die im feld "date_time" = "@date_time" haben...

is schwierig zu erklären, kommt ihr da mit, oder hab ich nur stuss erzählt? wäre um jede Hilfe froh, bin schon seit drei Tagen an dieser Procedure und kreigs einfach nicht hin...

Danke schon mal...
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat