Announcement

Collapse
No announcement yet.

sql server 2008 drop table problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • sql server 2008 drop table problem

    Hi @all,

    ich erstelle eine daatenbank und kreeire darin noch eine tabelle. wenn ich nun die datenbank lösche und die tabelle erneut erstellen will, wird mir gesagt das bereits ein objekt mit dem namen besteht, es ist also aus irgeneinem grund die tabelle noch in der datenbanmk obwohl ich diese gelöscht habe. reicht ein drop database nicht aus um eine datenbank zu löschen? ist die dann irgendwo noch refenrenziert?

    hier der code.

    Code:
     private const string SQLCREATEDB = "CREATE DATABASE " + DatabaseHelper.DBNAME + " ON PRIMARY " +
                "(NAME = " + DatabaseHelper.DBDATANAME + ", " +
                "FILENAME = '" + DatabaseHelper.DBFILEPATH + "', " +
                "SIZE = 3MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
                "LOG ON (NAME = " + DatabaseHelper.DBLOGFILENAME + ", " +
                "FILENAME = '" + DatabaseHelper.DBLOGFILEPATH + "', " +
                "SIZE = 1MB, " +
                "MAXSIZE = 5MB, " +
                "FILEGROWTH = 10%)";
    
            // Drop db
            private const string SQLDELETEDB = "Drop Database " + DatabaseHelper.DBNAME;
    
    // create table
    public const string SQLCREATEPATTABLE = "CREATE TABLE " + DatabaseHelper.PATIENTTABLENAME + "("
                + DatabaseHelper.PATIENTTABLEPRIMARYKEY + " INT PRIMARY KEY IDENTITY) "
                + "";
    
    private SqlConnection dbConnection = null;
    
    public void createDatabase()
            {
                try
                {
                    dbConnection = new SqlConnection(getConnectionString());
                    SqlCommand cmdCreateDB = new SqlCommand(DatabaseHelper.SQLCREATEDB, dbConnection);
                    SqlCommand cmdDelDB = new SqlCommand(DatabaseHelper.SQLDELETEDB, dbConnection);
    
                    openConnection();
                    
                    cmdDelDB.ExecuteNonQuery();
                    cmdCreateDB.ExecuteNonQuery();
    
                    cmdCreateDB.Dispose();
                    cmdDelDB.Dispose();
    
    SqlCommand cmdCreatePatTbl = new SqlCommand(DatabaseHelper.SQLCREATEPATTABLE, dbConnection);
                    openConnection();
                    cmdCreatePatTbl.ExecuteNonQuery();
                    cmdCreatePatTbl.Dispose();
                }
                catch (SqlException sqlexception)
                {
                    System.Windows.Forms.MessageBox.Show(sqlexception.ToString());
                }
                catch (Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show(ex.ToString());
                }
                finally
                {
                    dbConnection.Close();
                }
            }

  • #2
    Hallo Daniel,

    schon mal geprüft ob der Drop Database überhaupt funktioniert, oder ob der nicht evtl. einen Fehler wirft?

    Gruß Womble

    Comment


    • #3
      hi womble,
      erstma danke für die antwort. ja ich sehe wie die datenbank gelöscht wird, die datenbank ist weg von der platte. wenn ich den create der tabelle weglasse läuft alles fehlerfrei durch. wenn ich einfach nen neuen namen für die tabelle nutze läuft auch alles (einmal), dann starte ich mein prog neu (es wird am anfang die datenbank gelöscht und wieder erstellt dann wird die tabelle wieder erstellt)... und fehler es kommt wieder der gleiche fehler... irgendwo muss noch ein verweis auf die datenbank sein nachdem sie gelöscht wurde.. physisch ist sie nach dem drop definitiv nicht mehr vorhanden.
      Zuletzt editiert von Daniel.Sander; 18.03.2011, 17:35.

      Comment


      • #4
        ok habs nun aufgegeben.. unbegreiflich für mich ..

        Comment

        Working...
        X