0

顯示在GridView的我使用VS2005 C#和2005年C#值從SQL Server 2005數據庫表2比較和VS2005

我綁到2個數據庫之間的比較值SQL Server數據庫。

我能夠通過一個SELECT來檢索tStudent表變量[StudentName] WHERE SQL語句如下: enter image description here enter image description here

現在,我有另一臺名爲StudentDetails。它有3列,StudentName,地址和ContactNum: enter image description here

的情況是,我想從tStudent第一SQL查詢,返回我的學生,其[狀態] =已刪除列表grep的結果。

從查詢的學生列表中,我想一次帶一個學生,並搜索我的[StudentDetails]表。

如果它存在於[StudentDetails]中,我將使用一種方法來存儲StudentDetails表中的變量[StudentName]並將其顯示在我的網頁上的GridView中。 (在這裏打開許多解決方案,在數據庫中存儲;在GridView中顯示結果;在數組中存儲等)

我可以知道我可以採取什麼方式和步驟來實現結果嗎?

一步一步的指南和代碼片段非常感謝,因爲我在C#編程方面很薄弱。

+0

到目前爲止,您已經嘗試了什麼? – Thinhbk

+0

我正在尋找解決方案,如在sql語句中加入兩個表,到目前爲止還沒有嘗試過任何東西。 – gymcode

回答

1

,你可以這樣做:

  • 使用Visual Studio在此DataSet中創建一個數據集名稱StudentDS,創建表名「學生」,此表將包含3表列:字符串StudentName;字符串地址; String ContactNum;
  • 填充缺失的學生進入該數據集:

的DataSet DSET =新StudentDS(); 字符串的connectionString =「」; //取決於你的數據庫系統,是指http://www.connectionstrings.com

 using (connection = new OdbcConnection(connectionString)) 
     { 
      connection.Open(); 

      command.Connection = connection; 
      command.CommandText = "select StudentName, Address, ContactNum from tStudent WHERE status = 'DELETE'"; 

     OdbcDataAdapter da = new OdbcDataAdapter(); 
     da.SelectCommand = command; 

     da.Fill(dset, "Student"); 
    } 

- 你得到這個數據集後,您可以遍歷其行做你想做的。

if(dset.Tables[0].Rows != null) { 
for (int i = 0; i < dset.Tables[0].Rows.Count, i++){ 
if(!ExistInStudentDetail(dset.Tables[0].Rows[i]["StudentName"])) 
{ 
dset.Tables[0].Rows.remove(i); 
i--; 
} 
} 
} 

//這裏,布爾ExistInStudentDetail(字符串StudentName)是一種方法,你可以在上面以此爲一樣創建SQL。

  • 在你的窗體中添加一個新的DataGridView名爲「StudentForm」,該DataGridView的名字「StudentName」增加1列,並將其綁定屬性設置爲「StudentName」(在數據集相同的列名),然後設置這個網格的數據源。 StudentForm.DataSource = dSet;

HTH。

0

這是一個相當簡單的問題,但範圍非常大。所以在這裏:

首先,你應該確保你在搜索表中有獨特的列,這允許你修改這些單獨的行,並確保你正在修改正確的列。我在屏幕截圖中沒有看到任何ID列,所以我只想說明這一點。

第二我會爲學生創建一個班級。在這裏,我將創建所有我想要的信息的字段或屬性。

class Student 
{ 
    public string Name { get; private set; } 
    public string Address { get; private set; } 
    public string ContactNum { get; private set; } 
} 

,你可以使用一個構造函數在上面的類和填充的屬性,或者您可以在每個通過您填寫選擇你的選擇。

三我會創造一個List<Student> students;這將作爲您的參考名單

List<Student> deletedStudents = SQL Select Statement; 

四,那麼我會創造另一個List<Student> detailedStudents;

最後,我想比較這兩個列表,然後當比賽做些什麼被發現。

+0

嗨CBRRacer,我真的不知道學生課是做什麼的。我看到你已經將刪除的學生存儲在一個列表中(deletedStudents)。我怎樣才能從(刪除學生)一次從列表中獲得一個結果與第二個列表(詳細學生)進行比較? – gymcode