tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
2003
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    EnricoG EnricoG ist offline Rookie
    Registriert seit
    Jul 2005
    Beiträge
    7
    Hi,
    ich hock zur Zeit in meinem Praktikum und soll ne Auswertung zu einer Umfrage in ASP.net machen.
    Die Daten hocken schon in der Datenbank und ich muss sie nur noch abrufen.

    Das ganze abrufen und in ein DataGrid stecken ist auch keni Problem, aber wie kann ich die Daten darin vorher manipulieren?
    Da in der Umfrage einige Einträge in der Datenbank als "Bit" gespeichert wurden zeigt es mir im Grid nun als "True" und "False" an, wie kann ich daraus ein einfaches Ja/Nein machen?

    Bin noch recht neu mit dem ganzen ASP.net Zeugs, von daher über jede Hilfe dankbar.

    Grüße
    Enrico
     

  2. #2
    tamiro tamiro ist offline Grünschnabel
    Registriert seit
    Jun 2005
    Ort
    Herrsching
    Beiträge
    1
    Hallo Enrico,
    lerne momentan auch asp.net jeweils aber vb, ich hoffe dass ich dir trotzdem helfen kann.
    wenn du die antworten manipulieren willst, dann leg dich doch einfach an. z.b.

    Dim Ja As String(oder anstatt String "Boolean")
    Dim Nein As String(oder auch Boolean)
    Ja=True
    Nein=False

    True und False nennt man auch "boolische Antworten". nun, so viel ich kann ich dir sagen. darauf werden auch noch ein paar antworten. viel glück
     

  3. #3
    EnricoG EnricoG ist offline Rookie
    Registriert seit
    Jul 2005
    Beiträge
    7
    Hi,

    danke erstmal für die Antwort, meinte aber was anderes. (Oder ich hab dich dich nicht verstanden )
    Am besten poste ich mal meinen bisherigen Code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    string strSQL = "SELECT txt_company as Firma, rb_14yes as 'Kostenloser Support', rb_15yes as 'Kostenpflichtiger Support', rb_16yes as FAQ FROM Data ORDER BY ID"; 
    try {               
    SqlConnection fsConnection = new SqlConnection(ConfigurationSettings.Appsettings["ConnectionString"]);
    SqlDataAdapter fsAdapter = new SqlDataAdapter(strSQL, fsConnection);  
    DataSet fsDataSet = new DataSet(); 
    fsAdapter.Fill(fsDataSet, "Data");
    return fsDataSet;
    }

    Gebindet wird natürlich auch noch:

    Code :
    1
    2
    
    DataGrid1.DataSource = GetAll();    //GetAll ist die Prozedur oben
    DataGrid1.DataBind();

    Das klappt soweit auch wunderbar, das DataGrid wird ausgegeben und angezeigt.
    Aber im DataGrid steht in den einzelnen Zellen dann "True" oder "False" und diese möchte ich auslesen und durch ein "Ja" oder "Nein" ersetzen.
    Ich kriege es einfach nicht hin auf die einzelnen Zellen zuzugreifen, ansonsten hab ich mir gedacht lass ich eine Schleife durch alle Reihen durchlaufen und überprüf dann jedesmal einzeln.
    Aber wie kann ich darauf zugreifen? Oder hat jemand eine Idee wie ich einfach sagen kann "Mach aus "Bit" immer Ja/Nein"

    Bin weiterhin über jede Hilfe dankbar
     

  4. #4
    EnricoG EnricoG ist offline Rookie
    Registriert seit
    Jul 2005
    Beiträge
    7
    Ok ich bin nun soweit das ich in jeder Reihe den gewünschten Wert auslesen kann und "theorethisch auch ändern kann.
    Siehe Code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    foreach (DataRow ro in fsDataSet.Tables["data"].Rows)
                    {
                        if (ro["FAQ"].ToString() == "True") 
                        {                       
                            ro["FAQ"] = "Yes";
                        }                                   
                    }

    Jetzt eigentlich schon das logische Problem das die Column "FAQ" gefüllt ist mit Boolean Werten, gibt es eine Möglichkeit die umzuwandeln ohne das in der Datenbank tun zu müssen? Also nur in dem DataSet ohne es auf die DB zu speichern?
    So kracht mir natürlich alles um die Ohren :/

    Bin wieder mal dankbar für jeden Tip
    Geändert von EnricoG (20.07.05 um 15:57 Uhr)
     

  5. #5
    EnricoG EnricoG ist offline Rookie
    Registriert seit
    Jul 2005
    Beiträge
    7
    Ok ich hätte schon ne Lösung gefunden, es ist einfach möglich die Felder bereits im Query per "cast" in varchars zu casten und damit hätte sich das gelöst.
    Jetzt muss ich aber immer noch die gesamte Tabelle durchlaufen und aus 1/0 ein Ja/Nein machen, also wenn jemand noch nen performanteren Weg weiss kann ers gerne posten
     

  6. #6
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    In den Eigenschaften zu deiner DataTable hast du ja das Mapping der einzelnen DB-Columns auf die Tabellen-Columns. Da kannst unter anderem auch ein Format angeben. Eigentlich sollte das Problem darüber zu lösen sein.
     

  7. #7
    d-snake d-snake ist offline Rookie
    Registriert seit
    Jun 2005
    Beiträge
    7
    Warum änderst du nicht einfach deine Datenansicht(also DataGrid). Da du beim DataSet / DataReader noch den Datentyp ändern müsstest.
    Das ganze würde wie folgt aussehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     Private Sub DGrid_ItemDataBound(ByVal sender As System.Object, ByVal e As C1.Web.C1WebGrid.C1ItemEventArgs) Handles DGrid.ItemDataBound
           For i = 0 To DGrid.Items.Count - 1
                If DGrid.Items(i).Cells(3).Text = "True" Then
                    DGrid.Items(i).Cells(3).Text = "Ja"
                Else
                    DGrid.Items(i).Cells(3).Text = "Nein"
                End If
            Next
      End Sub
     

  8. #8
    EnricoG EnricoG ist offline Rookie
    Registriert seit
    Jul 2005
    Beiträge
    7
    Zitat Zitat von d-snake
    Warum änderst du nicht einfach deine Datenansicht(also DataGrid). Da du beim DataSet / DataReader noch den Datentyp ändern müsstest.
    Das ganze würde wie folgt aussehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     Private Sub DGrid_ItemDataBound(ByVal sender As System.Object, ByVal e As C1.Web.C1WebGrid.C1ItemEventArgs) Handles DGrid.ItemDataBound
           For i = 0 To DGrid.Items.Count - 1
                If DGrid.Items(i).Cells(3).Text = "True" Then
                    DGrid.Items(i).Cells(3).Text = "Ja"
                Else
                    DGrid.Items(i).Cells(3).Text = "Nein"
                End If
            Next
      End Sub
    Hi,
    das wär natürlich auch noch eine Idee
    Aber bin im Grunde nun schon fertig damit, aber fürs nächste mal die wahrscheinilch schnellere Lösung.
    Danke.
     

Ähnliche Themen

  1. Daten zw. Dataset und Report bearbeiten
    Von tecla im Forum .NET Datenverwaltung
    Antworten: 4
    Letzter Beitrag: 10.12.08, 14:43
  2. [C#] Daten eines DataSet editieren
    Von nuf im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 26.08.08, 17:11
  3. Daten in Dataset schreiben (VB.NET)
    Von tombo82 im Forum .NET Datenverwaltung
    Antworten: 0
    Letzter Beitrag: 03.09.07, 10:49
  4. Daten von Datasource in Dataset/Datatable?
    Von daDom im Forum .NET Datenverwaltung
    Antworten: 2
    Letzter Beitrag: 11.11.06, 18:38
  5. [VB.NET] Problem mit DataSet und auslesen von Daten
    Von BeLoW_ZeRo im Forum .NET Datenverwaltung
    Antworten: 4
    Letzter Beitrag: 28.09.06, 10:55