2017-07-01 7 views
0

Ich benutze Visual Studio 2017 Community und ich versuche, lokale Datenbank zu erstellen, und ich habe ein Problem in der Verbindungszeichenfolge, da es nicht verbinden, wenn es Schritt für Schritt seine in conn.Open(); Verbindungszeichenfolge ist nicht korrekt, wie es zu beheben?

Dies ist der Code der Verbindung und die ExecuteNonQuery:

  try 
      { 
       SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS; 
        AttachDbFilename=C:\USERS\OZ\DOCUMENTS\VISUAL STUDIO 2017\PROJECTS\SHILOVI2R\SHILOVI2R\PHONENUM.MDF; 
        Integrated Security=True; 
        Connect Timeout=30; 
        User Instance=True"); 

       conn.Open(); 
       SqlCommand cmd = new SqlCommand("insert into phonebook(שם,עיר,כתובת,מספר טלפון,אזור,מספר זיהוי,מחוז,נפה,דת)VALUES('" + rows[0] + "','" + rows[1] + "','" + rows[2] + "','" + rows[3] + "','" + rows[4] + "','" + rows[5] + "','" + rows[6] + "','" + rows[7] + "','" + rows[8] + "') ", conn); 
       cmd.ExecuteNonQuery(); 
       MessageBox.Show("middle2", "SHILOVI2R", MessageBoxButtons.OK); 
       Console.WriteLine("Inserting Data Successfully"); 
       conn.Close(); 
      } 
      catch (Exception e) 
      { 
       MessageBox.Show("dont_work", "SHILOVI2R", MessageBoxButtons.OK); 
       Console.WriteLine("Exception Occre while creating table:" + e.Message + "\t" + e.GetType()); 
      } 

Bild Screenshot von visuellen:

image screenshot

Der gesamte Code:

private void button1_Click(object sender, EventArgs e) 
    { 
     string strFilePat = @"C:\Users\oz\Desktop\sql\backup\tabel3.csv"; 
     ConvertCSVtoDataTable(strFilePat, strFilePat); 
    } 

    public static DataTable ConvertCSVtoDataTable(string strFilePath, string conLocoldbString1) 
    { 
     MessageBox.Show("start", "SHILOV", MessageBoxButtons.OK); 

     DataTable dt = new DataTable(); 

     using (StreamReader sr = new StreamReader(strFilePath)) 
     { 
      string[] headers = sr.ReadLine().Split(','); 
      foreach (string header in headers) 
      { 
       dt.Columns.Add(header); 
      } 
      while (!sr.EndOfStream) 
      { 

       string[] rows = sr.ReadLine().Split(','); 
       DataRow dr = dt.NewRow(); 
       for (int i = 0; i < headers.Length; i++) 
       { 
        dr[i] = rows[i]; 
       } 
       try 
       { 
        SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS; 
         AttachDbFilename=C:\USERS\OZ\DOCUMENTS\VISUAL STUDIO 2017\PROJECTS\SHILOV\SHILOV\LOCALDBSHILOV.MDF; 
         Integrated Security=True; 
         Connect Timeout=30; 
         User Instance=True"); 

        conn.Open(); 
        SqlCommand cmd = new SqlCommand("insert into PhoneTable(??,???,?????,???? ?????,????,???? ?????,????,???,??)VALUES('" + rows[0] + "','" + rows[1] + "','" + rows[2] + "','" + rows[3] + "','" + rows[4] + "','" + rows[5] + "','" + rows[6] + "','" + rows[7] + "','" + rows[8] + "') ", conn); 
        cmd.ExecuteNonQuery(); 
        MessageBox.Show("middle", "SHILOVI2R", MessageBoxButtons.OK); 
        Console.WriteLine("Inserting Data Successfully"); 
        conn.Close(); 
       } 
       catch (Exception e) 
       { 
        MessageBox.Show("dont_work", "SHILOVI2R", MessageBoxButtons.OK); 
        Console.WriteLine("Exception Occre while creating table:" + e.Message + "\t" + e.GetType()); 
       } 
       dt.Rows.Add(dr); 
      } 
     } 
     MessageBox.Show("finish", "SHILOVI2R", MessageBoxButtons.OK); 
     return dt; 
    } 
} 

}

+0

In Ihrem Screenshot ist die Verbindungszeichenfolge völlig anders (es ist ein Dateipfad keine Verbindungszeichenfolge). Das wird sicherlich fehlschlagen, die in Ihrem Code gepostete gibt Ihnen eine detaillierte Ausnahmebedingung, falls vorhanden. Was ist der Verbindungsstring? – Steve

+0

Ich möchte eine Verbindung zu Localdb Tabelle namens Telefonbuch die PHONENUM ist die Datenbank ---> das ist der Pfad :::: -> C: \ BENUTZER \ OZ \ DOKUMENTE \ VISUAL STUDIO 2017 \ PROJECTS \ SHILOV \ SHILOV \ LOCALDBSHILOV.MDF – jaguar

+0

Sie können ADO.NET-Verbindungspool erschöpft sein. Es ist teuer und ineffizient, SqlConnection bei jedem Einsatz zu öffnen. Versuchen Sie, den Code zu organisieren, so dass nur der SqlCommand INSERT in der Schleife ausgeführt wird und der Rest sich außerhalb befindet. (Dazu gehört auch, dass Sie es draußen während) –

Antwort

0

Verwenden Sie die Verbindungszeichenfolge, die in der Eigenschaftenregisterkarte des angehängten Screenshots verfügbar ist, wenn das Problem der Verbindungszeichenfolge This is what I'm talking about ist Verwenden Sie dies als Verbindungszeichenfolge, vergessen Sie auch nicht, Kennwortwert von '*' auf den tatsächlichen Wert zu ersetzen.

+0

Sie Meen this: C: \ BENUTZER \ OZ \ DOKUMENTE \ VISUAL STUDIO 2017 \ PROJEKTE \ SHILOV \ SHILOV \ LOCALDBSHILOV.MDF seit ich versuche, es so zu schreiben und es nicht die Localdb geöffnet auch ---> SqlConnection conn = neue SqlConnection (@ "C: \ BENUTZER \ OZ \ DOKUMENTE \ VISUAL STUDIO 2017 \ PROJECTS \ SHILOV \ SHILOV \ LOCALDBSHILOV.MDF"); – jaguar

Verwandte Themen