Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Advanced Developers Conference     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: C# und .NET ::  SQL Abfrage mit einem String     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Tobi3000
Mitglied

Benutzerprofil
Anmeldungsdatum: 14.07.2006
Beiträge: 209
Beitrag Tobi3000 Mitglied 14:47:20 09.03.2010   Titel:   SQL Abfrage mit einem String            Zitieren

Ich steh grad auf dem Schlauch.

C# Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public int GetCategoryID(String Name)
{
    String Selectstr = "SELECT KID FROM [Category] ";
    Selectstr += "WHERE (Name LIKE @Name)";

    SqlConnection con = new SqlConnection(ConnectionString);
    SqlCommand cmd = new SqlCommand(Selectstr);

    cmd.Parameters.AddWithValue("@Name", Name);

    SqlDataAdapter Adapter = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();

    try
    {
        con.Open();
        Adapter.Fill(ds, "[Category]");
    }
    catch (Exception err)
    {
        throw err;
    }
    finally
    {
        con.Close();
    }
    return (int)ds.Tables["[Category]"].Rows[0]["KID"];
}
C# Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public int GetCategoryID(String Name)
{
String Selectstr = "SELECT KID FROM [Category] ";
Selectstr += "WHERE (Name LIKE @Name)";

SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(Selectstr);

cmd.Parameters.AddWithValue("@Name", Name);

SqlDataAdapter Adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();

try
{
con.Open();
Adapter.Fill(ds, "[Category]");
}
catch (Exception err)
{
throw err;
}
finally
{
con.Close();
}
return (int)ds.Tables["[Category]"].Rows[0]["KID"];
}
C# Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public int GetCategoryID(String Name)
{
    String Selectstr = "SELECT KID FROM [Category] ";
    Selectstr += "WHERE (Name LIKE @Name)";

    SqlConnection con = new SqlConnection(ConnectionString);
    SqlCommand cmd = new SqlCommand(Selectstr);

    cmd.Parameters.AddWithValue("@Name", Name);

    SqlDataAdapter Adapter = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();

    try
    {
        con.Open();
        Adapter.Fill(ds, "[Category]");
    }
    catch (Exception err)
    {
        throw err;
    }
    finally
    {
        con.Close();
    }
    return (int)ds.Tables["[Category]"].Rows[0]["KID"];
}


In Zeile 17 wird immer eine Exception geworfen. Wie muss ich die SQL-Abfrage schreiben, damit die Abfrage funktioniert? Oder liegt der Fehler vielleicht woanders?

EDIT: Ok es hat sich erledigt. Ich habe bei SqlCommand den falschen Konstruktor verwendet.


Zuletzt bearbeitet von Tobi3000 am 15:50:25 09.03.2010, insgesamt 1-mal bearbeitet
Th69
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 2111
Beitrag Th69 Mitglied 11:01:19 10.03.2010   Titel:              Zitieren

Verwende besser die using-Anweisung für die SqlConnection und den SqlCommand (dann ersparst du dir den try-catch-finally).
Und bei der Rückgabe frag lieber vorher ab, ob überhaupt eine Zeile gefunden wurde...
Firefighter
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.03.2007
Beiträge: 2726
Beitrag Firefighter Mitglied 14:05:41 10.03.2010   Titel:              Zitieren

Oder noch besser, du verwendest LINQ To SQL :D

_________________
Mein Blog
Clean-Code-Developer
Wie man richtig Fragen stellt
Th69
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 2111
Beitrag Th69 Mitglied 16:39:55 10.03.2010   Titel:              Zitieren

Es wäre daher immer gut, wenn die Threadersteller ihre .NET-Version (bzw. die VS) dabeischreiben würden...
C/C++ Forum :: C# und .NET ::  SQL Abfrage mit einem String   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.