Announcement

Collapse
No announcement yet.

Wert aus Datenbank in Variable

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wert aus Datenbank in Variable

    Hallo,
    in meinem asp.net programm befülle ich unter anderem dropdownlists mit werten aus meiner datenbank. das klappt auch alles soweit ganz wunderbar.

    nur jetzt würde ich gerne das ergebnis einer datenbankabfrage nicht in eine dropdownlist speichern, sondern das Ergebnis einer Variablen übergeben.

    Das sollte doch normalerweise möglich sein, dass man auch ohne Steuerelement Datenbankwerte speichern kann.

    Ich habe leider nichts gefunden bei meiner Recherche im Internet. Ich hoffe Ihr könnt mir helfen.

    mfg
    stash

  • #2
    Du kannst das Ergebnis in ein DataSet speichern
    [highlight=c#]
    DataSet dataSet;

    //Create a SqlConnection to the Northwind database.
    using (SqlConnection connection =
    new SqlConnection("Data Source=(local);Initial Catalog=Northwind;"
    + "Integrated Security=SSPI")
    {
    //Create a SqlDataAdapter for the Suppliers table.
    SqlDataAdapter adapter = new SqlDataAdapter();

    // A table mapping names the DataTable.
    adapter.TableMappings.Add("Table", "Suppliers");

    // Open the connection.
    connection.Open();

    // Create a SqlCommand to retrieve Suppliers data.
    SqlCommand command = new SqlCommand(
    "SELECT SupplierID, CompanyName FROM dbo.Suppliers;",
    connection);
    command.CommandType = CommandType.Text;

    // Set the SqlDataAdapter's SelectCommand.
    adapter.SelectCommand = command;

    // Fill the DataSet.
    dataSet = new DataSet("Suppliers");
    adapter.Fill(dataSet);

    // Close the connection.
    connection.Close();
    }
    [/highlight]
    Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

    Comment


    • #3
      hi,
      danke für die recht umfangreiche lösung.

      gibt es eigentlich noch eine alternative. denn bei meiner abfrage würde garantiert nur eine zeile und eine spalte mit einem rückgabewert (ein string) zurückkommen. kann man diesen dann nicht irgendwie einfach einer variablen (also einem string) übergeben oder muss das wirklich dann über ein dataset gemacht werden.

      zur zeit hab ich das nämlich jetzt so gelöst, dass ich dropdownlists (welche auf visible=false geschaltet sind) diese abfrage übergebe und den wert dann daraus nehme. das ist halt sehr unsauber finde ich.

      mfg
      stash

      Comment


      • #4
        SqlCommand.ExecuteScalar-Methode
        Führt die Abfrage aus und gibt die erste Spalte der ersten Zeile im Resultset zurück, das durch die Abfrage zurückgegeben wird. Zusätzliche Spalten oder Zeilen werden ignoriert.
        [highlight=c#]
        String s = (String)SqlCommand.ExecuteScalar();
        [/highlight]
        Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

        Comment


        • #5
          hallo,

          danke für die antwort. sorry auch, dass ich mich da erst jetzt melde, bin aber erst heute dazugekommen, dass mit dem executescalar auszuprobieren.

          das funktioniert auch wunderbar, allerdings wäre es perfekt, wenn nicht nur die erste spalte in der ersten zeile ausgegeben wird, sondern nur die erste zeile, dafür aber alle spalten(des sind bei mir 4 spalten) (z. B. zusammenhängend in einem String).

          das wäre super. geht das?

          danke für die hilfe.

          mfg
          stash

          Comment


          • #6
            klar geht das. Nutze mein Beispiel 1.
            und selektiere aus dem DataSet nur die erste Zeile

            Code:
            DataRow dr = dataSet.Tables[0].Rows[0];
            Erste zeile kann man auch über das SQL Statement rausselektieren
            Code:
            Select top1 spalte1, spalte2, spalte3, spalte4 from MyTable
            Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

            Comment

            Working...
            X