C#:如何通过WCF服务将数据填充到DataGridView?

时间:2016-05-17 01:16:56

标签: c# winforms wcf datagridview

所以我正在尝试在加载表单时将数据库中的数据导入到客户端应用程序内部的DataGridView(在我的情况下为movieGridView)。 我之前尝试过这个:

来自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;
}

来自WCF的代码IService.cs

[OperationContract]
DataSet getMovieData();

客户端应用程序的代码:

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

[OperationContract]当然已经在[ServiceContract]内。表单加载时没有任何错误,并且需要一些时间来加载(可能它正在尝试从数据库中获取数据),但DataGridView没有显示任何内容,它是空白的。不,表名没有错,连接代码也很好,因为我试图登录并成功。有人能帮我吗?谢谢!

2 个答案:

答案 0 :(得分:0)

你能尝试删除sqlcom.ExecuteNonQuery(); ?

还尝试添加sqlcom.CommandType.Text

答案 1 :(得分:0)

您忘记绑定gridview中的数据

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