Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Girdview将数据导入参数_Asp.net_Gridview - Fatal编程技术网

Asp.net Girdview将数据导入参数

Asp.net Girdview将数据导入参数,asp.net,gridview,Asp.net,Gridview,我有一个gridview,它将用于更新MySQL数据库,我只想更新1个字段, 除了从gridview上的输入文本框获取数据外,它还可以工作。 在下面的代码中,strdocumentnumber=77500我希望77500来自gridview中更新行的“图纸编号”列字段,并且我希望更新的值也是strAccess_代码,也来自gridview代码列。 如果对值进行硬编码,这一切都会起作用 Private Sub GridView1_RowUpdating(ByVal sender As Ob

我有一个gridview,它将用于更新MySQL数据库,我只想更新1个字段,
除了从gridview上的输入文本框获取数据外,它还可以工作。 在下面的代码中,strdocumentnumber=77500我希望77500来自gridview中更新行的“图纸编号”列字段,并且我希望更新的值也是strAccess_代码,也来自gridview代码列。 如果对值进行硬编码,这一切都会起作用

    Private Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating
    '' do update..
    Dim strdocumentNumber As String = 77500
    Dim strAccess_Code As String = 8

    dbConn = New MySqlConnection("Data Source=localhost;password=****;user id=root;database=drawlib;")
    sql = "UPDATE core " & vbCrLf & _
          "SET  F6 ='" & strAccess_Code & "'" & vbCrLf & _
           "WHERE F1 = '" & strdocumentNumber & "'"

    Try
        dbConn.Open()
        dbcomm = New MySqlCommand(sql, dbConn)
        dbread = dbcomm.ExecuteReader()
        dbread.Close()
    Catch myerror As MySqlException
        MsgBox("Error in Saving Data: " & myerror.Message)
        'dbread.Close()
        Exit Sub
    End Try

    GridView1.EditIndex = -1
    GridView1.DataSource = SqlDataSource2
    GridView1.DataBind()
End Sub

谢谢

我认为您必须在codebehind中创建一个文本框,以便从gridview文本框中指定一个值:

编辑 在从文本框中提取值之前,可能需要找到正确的行。试试这个

Dim row As GridViewRow = GridView1.Rows(e.RowIndex)

If row.RowType = DataControlRowType.DataRow Then
   Dim textbox As TextBox = CType(row.FindControl("nameofyourgridview textbox here"),TextBox)
   strdocumentNumber = textbox.Text
End If
/编辑

在Gridview中,需要将BoundField更改为TemplateField。有关示例,请参见


使用设计器进行转换(请参见上面的链接),或者在gridview设计器中选择您的列,然后单击“将此列转换为模板字段”按钮。然后,您将拥有一个文本框,您可以从后面的代码中命名和获取该文本框

“此处的nameofyourgridview文本框”这是从哪里来的?当我单击编辑按钮时,代码列中的字段将成为我可以编辑的文本框,然后更改值,然后单击更新按钮。。。这将触发gridview1\u行更新过程。如何将新值输入文本框?我找到了这个网站,但它是sql而不是Mysql的,我不知道如何转换为我的使用。。啊,您是否在gridview中使用boundfields?如果是这样,则需要将具有要抓取的textbox值的列转换为templatefield。我将用一个片段更新上面的示例。在RowUpdate事件中,您可能还遇到了oldvalues vs newvalues问题。请参阅以获取解释,但您可能需要迭代NewValues集合以从文本框中获取新值。谢谢,您迄今为止的帮助,非常好。