none
VB2008 DataTable內容置換問題 RRS feed

  • 一般討論

  • 親愛的各位大大:

    我從Sql抓取資料到一個New的DataTable中其中有一欄是員工編號,我想把它員工編號改為員工姓名,請問該如何改?程式碼如下

    1.Dim ws As New SqlDataAdapter(" SELECT  * from PURTC", strDbCon) '從sql讀取資料
    2. ws.Fill(hhs, "PURTC")
    3. myDatatable1 = hhs.Tables("PURTC") 
    4. For i As Integer = 0 To myDatatable1.Rows.Count - 1

    5.    IF myDatatable1.columns("MB067")   THEN            '這行指令不會下 (原意是當MB067這個欄位值等於A17001用LADY取代 

    6.   ELSE

               '希望將員工編號置換成員工姓名請問要怎麼改    


    7. Next
    8. DataGridView1.DataSource = myDatatable1  '置換完後再把資料給Datagridview1

    感謝各位大大

    2010年11月3日 上午 07:13

所有回覆

  • IF myDatatable1.Rows(i).columns("MB067") = "A17001"  THEN myDatatable1.Rows(i).columns("MB067") = "LADY"
    2010年11月3日 上午 07:38
  • 親愛的大大:

         如果依照您的回覆去處理時,在myDatatable1.Rows(i).columns("MB067") 出現Columns不是system.Data.DataRow的成員。如果使用myDatatable1.Rows(i).Item("MB067")雖然不會出現錯誤但值卻沒有置換。

    感謝您 

    2010年11月3日 上午 08:17
  • 你應該哪邊有弄錯, 值應該會換掉才對

    ex:

            Dim myDatatable As New DataTable
            myDatatable.Columns.Add("x")
            Dim myRow As DataRow = myDatatable.NewRow()
            myRow.Item("X") = "ABC"
            myDatatable.Rows.Add(myRow)
            MessageBox.Show(myDatatable.Rows(0).Item("x"))
            myDatatable.Rows(0).Item("x") = "123"
            MessageBox.Show(myDatatable.Rows(0).Item("x"))

     

    所以, 把你寫的列出來看看, 從For 開始


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年11月3日 上午 08:34
    版主
  • 啊~~拍謝,我打錯了,是Item才對。
    2010年11月3日 上午 09:31
  • 為啥不直接用 SQL 語法來處理?例如 LEFT JOIN?
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年11月3日 下午 04:10