none
點選DataGrid動態顯示 RRS feed

  • 問題

  • 這是我DataGrid_click事件

     Private Sub DataGrid1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.Click
            Dim ID As String = Me.DataGrid1.Item(Me.DataGrid1.CurrentRowIndex, 0)
            'Me.Text = ID   可以抓到我點的攔位值

            Try
                Dim objcon As OleDbConnection
                Dim objcmd As New OleDbCommand
                Dim dr As OleDbDataReader

                objcon = New OleDbConnection(strDbCon)
                objcon.Open()

          objcmd = New OleDbCommand("select * from [user] where usrID=" + ID, objcon)
                dr = objcmd.ExecuteReader()
                dr.Read()
                Me.txtGetname.Text = dr.Item("usrID")
                dr.Close()
                objcon.Close()
            Catch ex As Exception
                MsgBox(ex.Message.ToString)
            End Try

        End Sub
    End Class

    我能確定我 ID是有字串的

    但是例外顯示

    無值提供給一個或多個必要參數?

    所以我那邊程式出錯?

    2006年5月11日 下午 05:44

解答

  •  funkin 寫信:

    "select * from [user] where usrID=" + ID

    你是不是用到了資料表中沒有的東西(例如欄位或資料表,還是型態不同)?

    2006年5月12日 上午 03:20
    版主
  • 1. 你的 SQL 指令有在 Access 查詢中測過嗎 ?

    2. 我說的不是 "資料",而是 "結構" .

    3. 據我的經驗,給使用者太方便,就是給自己難過 ... 因為你不知道使用者會幹什麼事 .

    2006年5月13日 下午 12:38
    版主

所有回覆

  •  funkin 寫信:

    "select * from [user] where usrID=" + ID

    你是不是用到了資料表中沒有的東西(例如欄位或資料表,還是型態不同)?

    2006年5月12日 上午 03:20
    版主
  • 我先把我DataGrid1_Click事件

    的try catch先mark起來我單純只試

     Dim ID As String = Me.DataGrid1.Item(Me.DataGrid1.CurrentRowIndex, 0)
     Me.Text = ID

     

    這兩行程式,可以正常顯示我點到哪一個帳號名稱就顯示該帳號名稱欄位的字出來

    像:

    usrID |  pwd|   nickname 

    root   |1111 |  管理員

    我點到root這一排就form.text就顯示root這個字

    所以我想我ID是有東西的

    不過我不能確定到底是不是物件

    因為我想由最容易讓使用者操作的方式下去寫程式的

    我的目標再用來管理所有人的會員資料

    如果能讓管理員藉由點選datagrid的列就能顯示到下面的textbox上來

    這樣很容易操作

    2006年5月12日 上午 08:22
  • 1. 你的 SQL 指令有在 Access 查詢中測過嗎 ?

    2. 我說的不是 "資料",而是 "結構" .

    3. 據我的經驗,給使用者太方便,就是給自己難過 ... 因為你不知道使用者會幹什麼事 .

    2006年5月13日 下午 12:38
    版主
  • 感謝版大的回覆

    我把我修正好的程式貼上來

     objcmd = New OleDbCommand("select * from [user] where usrID='" & ID & "'", objcon)

    改寫成這樣就可以正常了

     

     

    2006年5月14日 下午 01:25