2016-05-17 12 views
0

Also ich versuche, die Daten aus der Datenbank in meine DataGridView (die in meinem Fall ist movieGridView) in der Client-Seite Anwendung, wenn das Formular geladen ist. Ich habe schon versucht, diese vor:C#: Wie füllt man DataGridView über den WCF-Service?

-Code von WCF Service.cs:

public DataSet getMovieData() 
{ 
    sqlcon.Open(); 
    SqlCommand sqlcom = new SqlCommand("SELECT * FROM tb_movie", sqlcon); 
    SqlDataAdapter da = new SqlDataAdapter(sqlcom); 
    DataSet ds = new DataSet(); 
    da.Fill(ds); 
    sqlcom.ExecuteNonQuery(); 

    sqlcon.Close(); 
    return ds; 
} 

-Code von WCF IService.cs:

[OperationContract] 
DataSet getMovieData(); 

-Code auf Client-Seite Anwendung:

private void DeleteMovie_Load(object sender, EventArgs e) 
    { 
     DataSet ds = new DataSet(); 
     ds = obj.getMovieData(); 
     movieGridView.DataSource = ds; 
    } 

That [OperationContract] ist bereits insi de [ServiceContract] natürlich. Das Formular wird ohne irgendeinen Fehler geladen und braucht etwas Zeit zum Laden (vielleicht versucht es die Daten aus der Datenbank zu übernehmen), aber DataGridView zeigt nichts, es ist leer. Und nein, der Tabellenname ist nicht falsch, der Verbindungscode ist auch in Ordnung, weil ich versucht habe, mich anzumelden und erfolgreich zu sein. Kann mir jemand helfen? Vielen Dank!

Antwort

0

Können Sie versuchen, sqlcom.ExecuteNonQuery() zu entfernen; ?

versuchen Auch das Hinzufügen sqlcom.CommandType.Text

+0

Gerade versucht zu binden, dass nicht funktioniert, immer noch leer. Irgendein Vorschlag? – Trickster01

+0

[link] http://stackoverflow.com/questions/18856252/datagridview-not-showing-columns-data [/ link] – cafekun

+0

Wow, das funktioniert! Ich muss 'movieGridView.DataSource = ds ändern;' zu 'movieGridView.DataSource = ds.Tables [0];' – Trickster01

0

Sie vergessen haben, die Daten in der gridview

movieGridView.DataSource = ds; 
movieGridView.DataBind(); 
+0

Es gibt keine DataBind() Methode in WindowsForm-Anwendung :(Das ist nur in Webanwendung ... – Trickster01

+0

oh Entschuldigung Ich dachte, es ist eine Webanwendung. –

Verwandte Themen