table in msde erstellen



  • hi,

    ich schon wieder 😃
    also ich erstelle eine datenbank in einer msde und will dann eine tabelle erstellen.
    die db klappt auch nur die tabelle nicht aber wiss net was für n fehler das sein soll auch ein beispiel ausn buch klappt nicht

    public bool createdb(string strcompname,string strdbname,string strbenutzer,string strpwd)
    		{
    			string constring;
                SqlConnection oSqlConn = new SqlConnection();
    			constring="Server="+strcompname+"\\Ferienpass;Database=;User ID="+strbenutzer+";Password="+
    				strpwd+";Trusted_Connection=False";//connection string vorher schon zusammenbauen!!!
    			oSqlConn.ConnectionString=constring;
    			oSqlConn.Open(); //Verbindung geöffnet
    			try
    			{
    				SqlCommand cmd = new SqlCommand("CREATE DATABASE "+strdbname, oSqlConn);
    				cmd.ExecuteNonQuery();
    			}
    			catch
    			{
    				return false;
    			}
    			finally
    			{
    				oSqlConn.Close();
    			}
    		return true;
    		}
    
    		public bool creattable(string strcompname,string strdbname,string strbenutzer,string strpwd)
    		{
    			string conststring;
    			string sql;
    			SqlConnection oSqlConn = new SqlConnection();
    			conststring="Server="+strcompname+"\\Ferienpass;Database="+strdbname+";User ID="+strbenutzer+";Password="+
    				strpwd+";Trusted_Connection=False";
    			oSqlConn.ConnectionString=conststring;
    			oSqlConn.Open();
    			try
    			{
    				sql="CREATE TABLE tb_fachliste";
    				SqlCommand cmd = new SqlCommand(sql, oSqlConn);
    				cmd.ExecuteNonQuery();
    			}
    			catch
    			{
    				return false; 
    			}
    			finally
    			{
    				oSqlConn.Close();
    			}
    		return true;
    		}
    	}
    


  • weil das ein unfug ist

    sql="CREATE TABLE tb_fachliste";

    hast du schon mal eine tabelle ohne spalten gesehen??

    CREATE TABLE tb_fachliste
    ( 
        id int,
        desc varchar(50)
    )
    


  • mit spalten hatte ich es auch schon versucht nur geht das irgendwie auch nicht,
    ne fehlerbeschreibung gibts aber nicht sondern er führt das einfach nicht aus



  • wie hast du es versucht? code?

    und natürlich gibt es eine fehlerbeschreibung, aber wenn man faul ist try..catch block richtig auszuschreiben, dann ist man selber schuld.

    die se konstruktion hier unterdruckt alle fehlermeldungen

    try
    {
                sql="CREATE TABLE tb_fachliste";
                SqlCommand cmd = new SqlCommand(sql, oSqlConn);
                cmd.ExecuteNonQuery();
    }
    catch  // <-- DAS IST EINE SEHR SCHLECHTE FEHLERBAHANDLUNG
    {
                return false; 
    }
    

    wenn du das zumindest so, wie unten, schreibst, dann hast du auch die fehlermeldung

    try
    {
                sql="CREATE TABLE tb_fachliste";
                SqlCommand cmd = new SqlCommand(sql, oSqlConn);
                cmd.ExecuteNonQuery();
    }
    catch(Exception ex)  // <-- DAS IST EINE WESENTLICH BESSERE FEHLERBAHANDLUNG
    {
    #if DEBUG
                MessageBox.Show(ex.Message);
    #endif
                return false; 
    }
    


  • wer mal schreiben wenn ich es so probiert habe
    ("CREATE TABLE tb_fachliste{id int)", oSqlConn) war das kommando
    und der fehler:
    "LINE 1: Incorrect Syntax near '{'."



  • liam schrieb:

    wer mal schreiben wenn ich es so probiert habe
    ("CREATE TABLE tb_fachliste{id int)", oSqlConn) war das kommando
    und der fehler:
    "LINE 1: Incorrect Syntax near '{'."

    spricht doch für sich.
    hier:

    "CREATE TABLE tb_fachliste ----->> { <<----- id int)"
    falsche klammer

    so ist richtig

    "CREATE TABLE tb_fachliste (id int)"



  • meine schrift war zu klein da sahen beide gleich aus 🙂 so n blöder fehler von mir aber danke für die geduldige hilfe


Anmelden zum Antworten