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!
Gerade versucht zu binden, dass nicht funktioniert, immer noch leer. Irgendein Vorschlag? – Trickster01
[link] http://stackoverflow.com/questions/18856252/datagridview-not-showing-columns-data [/ link] – cafekun
Wow, das funktioniert! Ich muss 'movieGridView.DataSource = ds ändern;' zu 'movieGridView.DataSource = ds.Tables [0];' – Trickster01