Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Βοήθεια σε SQL Statement!!!!

Îåêßíçóå áðü ôï ìÝëïò jimenez. Τελευταία δημοσίευση από το μέλος jimenez στις 03-11-2006, 12:30. Υπάρχουν 14 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-11-2006, 16:03 19716

    Angry [:@] Βοήθεια σε SQL Statement!!!!

    Έχω το παρακάτω sql query.
    SELECT DriverID, RouteID,
    (select convert(int,(max(daytime)))-convert(int,min(daytime))
    FROM DriverSchedule
    )
    FROM DriverSchedule
    where DriverID = 1 and DayTime >= '11/2/2006'
    And DayTime < DATEADD(dd,8,'11/2/2006')


    το τρίτο πεδίο τι type επιστρέφει??

    Το πρόβλημα μου είναι το εξής. Διαβάζω το myTable.Rows[0][2] και θέλω να το μετατρέψω σε Int32. Όταν το κάνω μου το χυτπάει o compiler!

    Καμία Ιδέα????

    Dimitris S.
    FIRST TEST THEN CODE....
  •  02-11-2006, 16:08 19718 σε απάντηση της 19716

    Απ: Βοήθεια σε SQL Statement!!!!

    Λογικά Int, αλλά δεν έχει όνομα..

    Κάντο:

    SELECT DriverID, RouteID,

    (select convert(int,(max(daytime)))-convert(int,min(daytime))

    FROM DriverSchedule

    ) As DTime

    FROM DriverSchedule

    where DriverID = 1 and DayTime >= '11/2/2006'

    And DayTime < DATEADD(dd,8,'11/2/2006')


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  02-11-2006, 16:12 19719 σε απάντηση της 19716

    Απ: Βοήθεια σε SQL Statement!!!!

    Πες μας τι χτυπάει και τι type είναι το daytime για να μας βοηθήσεις λίγο...


    Vir prudens non contra ventum mingit
  •  02-11-2006, 16:23 19720 σε απάντηση της 19719

    Απ: Βοήθεια σε SQL Statement!!!!

    Το daytime ειναι datetime. Και θελω την διαφορα max και min. Αυτή την τιμή θέλω να την πάρω μέσα στην c#. Την διαβάζω από το datatable ως εξής

    days = Convert.ToInt32(myTable.Rows[0][2].ToString());

    Ε, αυτό το conversion μου χτυπάει.

    Τι παίζει?

    Παναγιώτη το DTime τι είναι ακριβώς?


    Dimitris S.
    FIRST TEST THEN CODE....
  •  02-11-2006, 16:30 19724 σε απάντηση της 19720

    Απ: Βοήθεια σε SQL Statement!!!!

    Μασκαρετο σαν TimeSpan class (myTable.Rows[0][2] as TimeSpan).

    Hope that Helped

    nassos


    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  02-11-2006, 16:43 19726 σε απάντηση της 19724

    Απ: Βοήθεια σε SQL Statement!!!!

    Δηλαδή?
    Dimitris S.
    FIRST TEST THEN CODE....
  •  02-11-2006, 17:06 19727 σε απάντηση της 19726

    Απ: Βοήθεια σε SQL Statement!!!!

    Υπαρχει η class System.TimeSpan, ειναι class που διαχειριζετε τιν διαφορα μεταξυ 2 DateTime class

    ετσι:

    DateTime date = DateTime.Now;

    date.Subtract(DateTime.Now);// η Subtract επιστρεφει ενα object τύπου TimeSpan


    Αρα στον Κωδικα σου θα κάνεις:
    TimeSpan dateDifference = myTable.Rows[0][2] as TimeSpan;

    if (dateDifference != null)

    {

    //Implement your logic here

    }


    Hope that Helped

    nassos
    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  02-11-2006, 17:09 19728 σε απάντηση της 19727

    Απ: Βοήθεια σε SQL Statement!!!!

    Οκ.Σας ευχαριστώ θα το κοιτάξω και θα σας πω
    Dimitris S.
    FIRST TEST THEN CODE....
  •  02-11-2006, 18:45 19735 σε απάντηση της 19720

    Απ: Βοήθεια σε SQL Statement!!!!

     jimenez wrote:
    Το daytime ειναι datetime. Και θελω την διαφορα max και min. Αυτή την τιμή θέλω να την πάρω μέσα στην c#. Την διαβάζω από το datatable ως εξής

    days = Convert.ToInt32(myTable.Rows[0][2].ToString());

    Ε, αυτό το conversion μου χτυπάει.

    Τι παίζει?

    Παναγιώτη το DTime τι είναι ακριβώς?



    Σαν DTime απλά ονομάζω το column γιατί αλλοιώς δεν έχει όνομα.
    Τώρα, εάν θές να πάρεις την διαφορά μεταξύ 2 ημερομηνιών, χρησιμοποιήσε την DATEDIFF.
    Για παράδειγμα εάν θέλεις να πάρεις την διαφορά ημερών μεταξύ μιας ημερομηνίας και σήμερα το query σου θα ήτανε κάπως έτσι:

    SELECT DriverID, RouteID,

    (DATEDIFF(dd,daytime, GETDATE()) As DTime

    FROM DriverSchedule

    where DriverID = 1 and DayTime >= '11/2/2006'

    And DayTime < DATEADD(dd,8,'11/2/2006')


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  03-11-2006, 10:22 19766 σε απάντηση της 19716

    Απ: Βοήθεια σε SQL Statement!!!!

    Καλημέρα,



    Το κατάλαβα το AS DTime απλά ήθελα να μου επιστρέψει αυτή η διαφορά integer ώστε αυτόν τον αριθμό να τον χειριστώ μέσα στον κώδικα C#. Καλώς θα το κοιτάξω σήμερα και θα σας πω.
    Dimitris S.
    FIRST TEST THEN CODE....
  •  03-11-2006, 10:34 19768 σε απάντηση της 19766

    Απ: Βοήθεια σε SQL Statement!!!!


    Το θέμα είναι να σου επιστρεψει int αλλα τί θα αντιπροσωπευει? τα seconds? minutes? Hours?.

    Eτσι το NET εχει την TimSpan Class που σου δίνει int διαφορας για Days,Hours,Minutes,Second, millisecond,
    καθώς επίσης και Double values στα properties που ξεκινουν απο Total π.χ.TotalDay, TotalHour κ.τ.λ.

    Happy Coding
    Nassos

    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  03-11-2006, 11:22 19771 σε απάντηση της 19716

    Απ: Βοήθεια σε SQL Statement!!!!

    Βασικά την διαφορά ημερών. όχι τόσο τα hours,minutes Κτλ. Το κοιταω τωρα και θα σας πω αν παιζει.Εκ των προτερων ευχαριστω για την πολυτιμη βοήθεια σας.
    Dimitris S.
    FIRST TEST THEN CODE....
  •  03-11-2006, 11:47 19774 σε απάντηση της 19771

    Απ: Βοήθεια σε SQL Statement!!!!

    Η DATEDIFF επιστρέφει integer, και εγώ όποτε θέλω διαφορά ημερών κάνω αυτό που προτείνει ο pkefal
  •  03-11-2006, 11:55 19775 σε απάντηση της 19768

    Απ: Βοήθεια σε SQL Statement!!!!

     Nassos.NET wrote:

    Το θέμα είναι να σου επιστρεψει int αλλα τί θα αντιπροσωπευει? τα seconds? minutes? Hours?.

    Eτσι το NET εχει την TimSpan Class που σου δίνει int διαφορας για Days,Hours,Minutes,Second, millisecond,
    καθώς επίσης και Double values στα properties που ξεκινουν απο Total π.χ.TotalDay, TotalHour κ.τ.λ.

    Happy Coding
    Nassos


    Εφόσον διαλέγεις απο ποιο σημείο του datetime Θέλεις να πάρεις διαφορά πχ dd, mm κλπ, πάντοτε ξέρεις τι ακριβώς αντιπροσοπεύει η τιμή η οποία παίρνεις, άρα δεν υπάρχει άμμεσος λόγος χρήστης της TimeSpan.

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  03-11-2006, 12:30 19779 σε απάντηση της 19716

    Απ: Βοήθεια σε SQL Statement!!!!

    Ναι παίζει παιδιά η DATEDIFF. Και επιστρέφει int. Ευχαριστώ παναγιώτη.
    Dimitris S.
    FIRST TEST THEN CODE....
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems