2016-05-17 84 views
0

因此,我試圖在加載表單時將客戶端應用程序中的數據從數據庫中提取到我的DataGridView(在我的情況下爲movieGridView)。 我以前嘗試過這樣的:從WCF Service.csC#:如何通過WCF服務向DataGridView填充數據?

代碼:從WCF IService.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; 
} 

代碼:

[OperationContract] 
DataSet getMovieData(); 

在客戶端應用程序代碼:

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

[OperationContract]已經是insi當然是[ServiceContract]。表單加載時沒有任何錯誤,並需要一些時間來加載(也許它試圖從數據庫中獲取數據),但DataGridView什麼也沒有顯示,它是空白的。不,表名沒有錯,連接代碼也很好,因爲我試圖登錄和成功。有人能幫我嗎?謝謝!

回答

0

你可以嘗試刪除sqlcom.ExecuteNonQuery(); ?

也可以嘗試加入sqlcom.CommandType.Text

+0

只是去嘗試,沒有工作,仍然是空白的數據綁定。任何建議? – Trickster01

+0

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

+0

哇,它的作品!我需要將'movieGridView.DataSource = ds;'更改爲'movieGridView.DataSource = ds.Tables [0];' – Trickster01

0

你忘了在GridView

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

WindowsForm應用程序中沒有DataBind()方法:(這隻適用於Web應用程序... – Trickster01

+0

哦對不起!我認爲這是一個Web應用程序。 –

相關問題