Windows-form-Anwendung der Datenbank: “Eine nicht behandelte Ausnahme des Typs 'System.ArgumentException' ist in System.Data.dll"
Ich bin wirklich ein Neuling in der Programmierung so tun, entschuldigen Sie mich, wenn mein wissen scheint wirklich unzureichend. Ich Schreibe gerade an einem C# - Projekt für meine Schule, und ich habe Probleme mit dem starten meiner Datenbank.
Hier sind einige codes:
private void buttonPurchase_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Purchase?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
//store invoice
System.Data.SqlClient.SqlConnection sqlConnection1 =
new System.Data.SqlClient.SqlConnection("CarDBConnectionString");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT into invoiceTbl(invoiceId, date, time) values (1, 21/6/2014, 11:13PM)";
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();
}
}
Diese codes, hielt ich angesichts der Fehler
Format der Initialisierungszeichenfolge entspricht nicht der Spezifikation ab index 0 1", unter "Eine nicht behandelte Ausnahme des Typs 'System.ArgumentException' ist in System.Data.dll"
Auch hier sind die codes von meiner app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add name="CarDBConnectionString" connectionString="Data Source=(LocalDB)\v11.0;InitialCatalogue=CarDB;AttachDbFilename=|DataDirectory|\CarDB.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="Draft_1.Properties.Settings.CarDBConnectionString"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\CarDB.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Ich habe versucht, googeln überall, aber ich kann nicht scheinen zu verstehen, dass jede der Lösungen 🙁 Jede Hilfe wird sehr geschätzt, danke!
InformationsquelleAutor user3763216 | 2014-06-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Teil von der typo in
"InitialCatalogue"
(der richtige Schlüssel istInitial Catalog
), es ist ein Fehler in deinem code.Benötigen Sie zum Lesen den Wert der Verbindungszeichenfolge und übergibt es an den Konstruktor von
SqlConnection
. Der Konstruktor erwartet eine gültige Verbindungszeichenfolge nicht der Schlüssel zu deinem config-Datei im AbschnittKönnten Sie
InformationsquelleAutor Steve
@Steve machte einen guten Punkt: müssen Sie eine gültige Verbindungszeichenfolge.
Zweitens, versuchen Sie zu umschließen Parameter' Werte in einfache Anführungszeichen so:
Bessere Methode ist die Verwendung eines einzigen datetime (oder als benannt TimeStamp) DB-Feld enthält beide Informationen (in der Regel entspricht
DateTime.Now
). Die geänderte Abfrage sollte wie folgt Aussehen:Hoffe, das wird helfen. Rgds,
Sie sind sehr herzlich willkommen! Dir auch 🙂
InformationsquelleAutor Alexander Bell
Dieser Fehler kann auch passieren wenn Sie spielen mit "Verbindung" unter server und Sie haben (dataset).xsd-Datei. In diesem Fall wird der connection-string im inneren .xsd gestört ist und Sie diese Fehlermeldung erhalten. In meinem Fall musste ich löschen Tabelle in meiner xsd Datei und erstellen Sie die gleiche Tabelle nochmal mit der neuen Verbindung string-und die Dinge, die gut geklappt hat.
Dieser Ansatz ist nur gut für kleine Projekt. Aber zumindest wird es Ihnen eine Idee, wo der Fehler kommt.
InformationsquelleAutor Hammad Khan