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

 

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

C# Σφάλμα

Îåêßíçóå áðü ôï ìÝëïò kanonieris. Τελευταία δημοσίευση από το μέλος nullvoid στις 20-04-2008, 17:02. Υπάρχουν 10 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  14-04-2008, 11:06 41495

    C# Σφάλμα

    Προτού αναφερθώ στο πρόβλημα που αντιμετωπίζω θα πρέπει να ξέρετε πως δεν ξέρω σχεδόν τπτ απο c# και λόγω μιας εργασίας πρέπει να κάνω τα παρακάτω και πολύ σύντομα.

    Λοιπόν έχουμε και λέμε,

    η εργασία που έχω να κάνω είναι η κατασκευή ενός distributed client/server προγραμματος, το οποίο θα έχει και ενα κομματι στο web.Εάν ξέρει κάποιος κάποιο tutorial που αφορά κάτι τετοιο θα με βοηθούσε πολύ.Τελος πάντων σε μία απο τις κλάσεις που έκανα μου βγάζει το σφάλμα:

    The name 'projects' does not exists in the current contex

    Ο κώδικας είναι ο εξής :

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;

    namespace PTSLibrary.DAO
    {
        class CustomerDAO : SuperDAO
        {

            public int Authenticate(string username, string password)
            {
                string sql;
                SqlConnection cn;
                SqlCommand cmd;
                SqlDataReader dr;

                sql = String.Format("SELECT CustomerId FROM Customer WHERE Username='{0}' AND Password='{1}'", username, password);

                cn = new SqlConnection(Properties.Settings.Default.wm75ConnectionString);
                cmd = new SqlCommand(sql, cn);
                int id = 0;
                try
                {
                    cn.Open();
                    dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
                    if (dr.Read())
                    {
                        id = (int)dr["CustomerId"];
                    }
                    dr.Close();
                }
                catch (SqlException ex)
                {
                    throw new Exception("Error Accessing Database", ex);
                }
                finally
                {
                    cn.Close();
                }
                return id;
            }

            ///////////////////////////END AUTHENTICATE METHOD//////////////////////////////////
            //////////////////////GET LIST////////////////////
            public List<Project> GetListOfProjects(Guid custId)
            {
                string sql;
                SqlConnection cn2;
                SqlConnection cn;
                SqlCommand cmd;
                SqlCommand cmd2;
                SqlDataReader dr;
                SqlDataReader dr2;
               

                sql = "SELECT * FROM Customer WHERE CustomerId = " + custId;
                cn = new SqlConnection(Properties.Settings.Default.wm75ConnectionString);
                cmd = new SqlCommand(sql, cn);

                try
                {
                    cn.Open();
                    dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        List<Task> tasks = new List<Task>();

                        sql = "SELECT * FROM Task WHERE ProjectId = '" + dr["ProjectId"].ToString() + "'";
                        cn2 = new SqlConnection(Properties.Settings.Default.wm75ConnectionString);
                        cmd2 = new SqlCommand(sql, cn2);
                        cn2.Open();
                        dr2 = cmd2.ExecuteReader();
                        while (dr2.Read())
                        {
                            Task t = new Task((Guid)dr2["TaskID"], dr2["Name"].ToString(), (Status)dr2["StatusId"]);
                            tasks.Add(t);
                        }
                        dr2.Close();
                        Project p = new Project(dr["Name"].ToString(), (DateTime)dr["ExpectedStartDate"],
                            (DateTime)dr["ExpectedEndDate"], (Guid)dr["ProjectId"], tasks);
                        projects.Add(p);
                    }
                    dr.Close();
                }

                catch (SqlException ex)
                {
                    throw new Exception("Error Getting list", ex);
                }
                finally
                {
                    cn.Close();
                }
            }
        }
    }

     

     

    Ευχαριστώ εκ των προτέρων ;)

  •  14-04-2008, 11:26 41496 σε απάντηση της 41495

    Απ: C# Σφάλμα

    Καλείς το:

                        projects.Add(p);

    και η μεταβλητή projects δεν έχει δηλωθεί πουθενά
  •  14-04-2008, 11:29 41497 σε απάντηση της 41496

    Απ: C# Σφάλμα

    ναι το γνωρίζω αυτό αλλά σε περίπτωση  που το δηλώσω κάπου μετά μου πετάει άλλα σφάλματα. Μπορείς να το τρεξεις και να δεις τι γίνεται?

    Ευχαριστώ για την γρήγορη απάντηση

  •  14-04-2008, 11:33 41498 σε απάντηση της 41497

    Απ: C# Σφάλμα

    Να τρέξω τι; Αυτό το πράγμα κατ'αρχάς μιλάει με κάποια βάση. Πού να την βρω;

    Κοίτα το σίγουρο είναι ότι αν δεν το δηλώσεις, δεν πρόκειται να παίξει. Επομένως βάλτο και να δούμε τι άλλα σφάλματα σου πετάει.
  •  14-04-2008, 11:42 41499 σε απάντηση της 41498

    Απ: C# Σφάλμα

    οκ, δηλώνω την μεταβλητή projects όπως την tasks.Δηλαδή : List<Task> projects = new List<Task> και μετά δεν αναγνωρίζει το σημείο :projects.Add(p)

    τα νέα σφάλματα είναι:

    1)The best overloaded method match for 'System.Collections.Generic.List<PTSLibrary.Task>.Add(PTSLibrary.Task)' has some invalid arguments

    2) Argument '1' cannot convert from ''PTSLibrary.Project' to PTSLibrary.Task .Σημείωση: είναι το σημείο p

  •  14-04-2008, 14:05 41501 σε απάντηση της 41499

    Απ: C# Σφάλμα

    άρα πρέπει να ορίσεις το projects ως: List<PTSLibrary.Project> projects = new List<PTSLibrary.Project>


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  20-04-2008, 11:57 41636 σε απάντηση της 41501

    Απ: C# Σφάλμα

    Λύθηκε το συγκεκριμένο πρόβλημα αλλά εμφανίστηκαν αλλά. Μου βγάζει για τον συγκεκριμένο κώδικα το εξής λάθος: Error 1 'PTSLibrary.DAO.CustomerDAO.GetListOfProjects(int)': not all code paths return a value C:\Documents and Settings\job\Επιφάνεια εργασίας\PTSLibrary\PTSLibrary\DAO\CustomerDAO.cs 47 30 PTSLibrary Τι σημαίνει αυτό?
  •  20-04-2008, 13:47 41637 σε απάντηση της 41636

    Απ: C# Σφάλμα

    Αυτό σημαίνει ότι δεν έχεις βάλει return statement σε όλα τα δυνατά "μονοπάτια" που μπορεί να ακολουθήσει μια κλήση στη συνάρτησή σου. Ψάξε για το που μπορεί να λείπουνε δηλώσεις return.
    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  20-04-2008, 13:51 41638 σε απάντηση της 41637

    Απ: C# Σφάλμα

    dt008 πολύ λογικό και πολύ σωστό αυτό που εγραψές.Το προβλημα λύθηκε και συνεχίζω μέχρι που να βρεθούν κι άλλα.Στο τέλος θα το κάνω tutorial για το σιτε. Ευχαριστώ
  •  20-04-2008, 15:17 41641 σε απάντηση της 41638

    Απ: C# Σφάλμα

    Όχι που θα σας άφηνα :)

    στον παρακάτω κομμάτι του κώδικα :

    public Customer[] GetListOfCustomers(Guid customerId)
    {
    return (dao.GetListOfCustomers(customerId)).ToArray();
    }

    public Team[] GetListOfTeams(Guid teamId)
    {
    return (dao.GetListOfTeams(teamId)).ToArray();
    }



    μου βγάζει τα παρακάτω σφάλματα:

    Error 4 Cannot implicitly convert type 'PTSLibrary.Task[]' to 'PTSLibrary.Customer[]'
    -------------------->
    Error 5 Cannot implicitly convert type 'PTSLibrary.Task[]' to 'PTSLibrary.Team[]'

    Τι σημαίνουν τα σφάλματα αυτα?


  •  20-04-2008, 17:02 41643 σε απάντηση της 41641

    Απ: C# Σφάλμα

    Θα σου πρότεινα να τριφτείς λίγο με την C#...

    Δες τον τύπο που επιστρέφουν οι dao.GetListOfCustomers και dao.GetListOfTeams.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems