SQL-delete-Befehl?
Ich habe Probleme mit einem einfachen DELETE-Anweisung im SQL-mit unerwarteten Ergebnissen , so scheint es, fügen Sie das Wort auf der Liste??. Muss etwas einfältig. aber ich kann es nicht sehen , versucht es ein paar verschiedene Möglichkeiten. Alle das gleiche Ergebnis also ziemlich verwirrt.
public void IncludeWord(string word)
{
//Add selected word to exclude list
SqlConnection conn = new SqlConnection();
String ConnectionString = "Data Source = dev\\SQLEXPRESS ;" + "Initial Catalog=sml;" + "User id=** ;" + "Password =*;" + "Trusted_Connection=No";
using (SqlConnection sc = new SqlConnection(ConnectionString))
{
try
{
sc.Open();
SqlCommand Command = new SqlCommand(
"DELETE FROM excludes WHERE word='@word'" +
conn);
Command.Parameters.AddWithValue("@word", word);
Command.ExecuteNonQuery();
}
catch (Exception e)
{
Box.Text = "SQL error" + e;
}
finally
{
sc.Close();
}
ExcludeTxtbox.Text = "";
Box.Text = " Word : " + word + " has been removed from the Exclude List";
ExcludeLstBox.AppendDataBoundItems = false;
ExcludeLstBox.DataBind();
}
Dieser code wird nicht einen Eintrag hinzufügen, anstatt es zu löschen. Dein Problem ist woanders. Bitte senden Sie keine relative bits, die genannt werden in Verbindung mit dieser Methode.
InformationsquelleAutor user685590 | 2011-06-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, das entfernen der Anführungszeichen. Auch, warum sind Sie verketten Sie Ihre SQL-string mit einem connection-Objekt (
.. word='@word'" + conn
)???Versuchen wie diesem:
Beachten Sie auch, dass, weil die Verbindung ist verpackt in einem using-block, die Sie nicht brauchen, um es zu Schließen in einem
finally
- Anweisung. Die Dispose-Methode wird dann automatisch angerufen .Close-Methode wird wieder die Verbindung zu den ADO.NET connection pool, so dass es wiederverwendet werden kann.Andere Bemerkung ist, dass diese
IncludeWord
Methode gibt viel zu viele Dinge. Es sendet SQL-Abfragen, um die Datensätze löschen, aktualisiert Sie einige Textfelder in der GUI und bindet es einige Listen => - Methoden wie diese soll geteilt werden getrennt, so dass jede Methode hat Ihre eigenen spezifischen Verantwortung. Ansonsten ist dieser code ist einfach ein Alptraum in Sachen Wartung. Ich würde sehr empfehlen, dass Sie schreiben Methoden, die nur eine einzige spezifische Aufgabe, die sonst der code wird schnell zu einem kompletten Chaos.InformationsquelleAutor Darin Dimitrov
sollte ersetzt werden, mit
Versuchen Sie auch durch entfernen einzelner Angebote, wie vorgeschlagen, die von anderen wie diese
InformationsquelleAutor Haris Hasan
Den
@Word
sollte nicht in Anführungszeichen in der sql-Abfrage.Nicht sicher, warum Sie hinzuzufügen versuchen, die Verbindung am Ende der sql-Abfrage.
InformationsquelleAutor George Duckett
Debuggen, prüfen Sie die CommandText auf das SqlCommand-Objekt. Bevor Sie nun weiterlesen, sollten Sie versuchen, diese.
Das Problem kommt mit dem hinzufügen der Anführungszeichen ein string, der parametrisiert ist. Entfernen Sie die Anführungszeichen und das Leben ist schön. 🙂
Ach ja, und deine conn ist ein Objekt und muss ein Komma, nicht ein +.
InformationsquelleAutor Gregory A Beamer
private void button4_Click(object sender, EventArgs e)
{
String st = "DELETE FROM Lieferant WHERE supplier_id =" + textBox1.Text;
InformationsquelleAutor robin
String queryForUpdateCustomer = "UPDATE Kunden SET cbalance=@txtcustomerblnc WHERE cname='" + searchLookUpEdit1.Text + "'";
versuchen
{
using (SqlCommand command = new SqlCommand(queryForUpdateCustomer, con))
{
InformationsquelleAutor Yasir Naeem