Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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
Mysql SQL更新错误+;WHERE条款澄清_Mysql_Sql_Sql Server_Vb.net_Datagridview - Fatal编程技术网

Mysql SQL更新错误+;WHERE条款澄清

Mysql SQL更新错误+;WHERE条款澄清,mysql,sql,sql-server,vb.net,datagridview,Mysql,Sql,Sql Server,Vb.net,Datagridview,我有一个SQL表的编辑表单,其中包含文本框,用户可以编辑所选记录的详细信息。加载时,所选记录/行的详细信息/信息将插入相应的文本框中,一旦用户更改了所需内容,则通过单击Updatebtn更新整个记录 连接成功建立,编辑表单按预期填充文本框。但是,当我单击Updatebtn时,我收到以下错误(尽管它可能不限于一个错误!) “System.Data.SqlClient.SqlException”类型的未处理异常 发生在System.Data.dll中 其他信息:找不到存储过程“p” 它突出显示了cm

我有一个SQL表的编辑表单,其中包含文本框,用户可以编辑所选记录的详细信息。加载时,所选记录/行的详细信息/信息将插入相应的文本框中,一旦用户更改了所需内容,则通过单击
Updatebtn
更新整个记录

连接成功建立,编辑表单按预期填充文本框。但是,当我单击
Updatebtn
时,我收到以下错误(尽管它可能不限于一个错误!)

“System.Data.SqlClient.SqlException”类型的未处理异常 发生在System.Data.dll中

其他信息:找不到存储过程“p”

它突出显示了
cmd.ExecuteScalar()

Updatebtn
代码如下-注意,我使用并修改了Add按钮中的代码,该按钮功能良好,因此我知道该方法有效。请同时检查我的WHERE条款;我不确定这是否是引用我选择并要更新的记录的正确方法

其他信息:WHERE子句中的
midtxt.Text
由表单加载填充,并包含DataGridView中所选索引/项的成员ID

Private Sub Updatebtn_Click(sender As Object, e As EventArgs) Handles Updatebtn.Click
    stcon = "Data Source =**.**.**.***;Initial Catalog=Members_Details;Integrated Security=False;User=UGSTUDIOLEADERSHIP;Password=****************;"
    con = New SqlConnection(stcon)

    con.Open()
    p(0) = New SqlParameter("@Members_ID", SqlDbType.Int)
    p(1) = New SqlParameter("@Gamer_Tag", SqlDbType.VarChar, 255)
    p(2) = New SqlParameter("@Screenname", SqlDbType.VarChar, 255)
    p(3) = New SqlParameter("@First_Name", SqlDbType.VarChar, 255)
    p(4) = New SqlParameter("@Last_Name", SqlDbType.VarChar, 255)
    p(5) = New SqlParameter("@DoB", SqlDbType.VarChar, 255)
    p(6) = New SqlParameter("@E_Mail_Address", SqlDbType.VarChar, 255)
    p(7) = New SqlParameter("@Position", SqlDbType.VarChar, 255)
    p(8) = New SqlParameter("@UG_Studio", SqlDbType.VarChar, 255)
    p(9) = New SqlParameter("@Cautions", SqlDbType.VarChar, 255)
    p(10) = New SqlParameter("@Record", SqlDbType.VarChar, 255)
    p(11) = New SqlParameter("@Event_Attendance", SqlDbType.VarChar, 255)
    p(12) = New SqlParameter("@Members_Status", SqlDbType.VarChar, 255)
    p(13) = New SqlParameter("@GTA_V_Crew_Member", SqlDbType.VarChar, 255)
    p(14) = New SqlParameter("@Games_Owned", SqlDbType.VarChar, 255)
    p(15) = New SqlParameter("@Rep_Group", SqlDbType.VarChar, 255)
    p(0).Value = midtxt.Text
    p(1).Value = gttxt.Text
    p(2).Value = sntxt.Text
    p(3).Value = fntxt.Text
    p(4).Value = lntxt.Text
    p(5).Value = dobtxt.Text
    p(6).Value = emailtxt.Text
    p(7).Value = teamptxt.Text
    p(8).Value = ugptxt.Text
    p(9).Value = ugctxt.Text
    p(10).Value = recordtxt.Text
    p(11).Value = eventatxt.Text
    p(12).Value = memberstatcombo.Text
    p(13).Value = gtavcrewmembercombo.Text
    p(14).Value = gamesownedtxt.Text
    p(15).Value = RepGroupcombo.Text

    cmd = New SqlCommand("UPDATE PersonsA SET(Members_ID=@Members_ID,Gamer_Tag=@Gamer_Tag,Screenname=@Screenname,First_Name=@First_Name,Last_Name=@Last_Name,DoB=@DoB,E_Mail_Address=@E_Mail_Address,Position=@Position,UG_Studio=@UG_Studio,Cautions=@Cautions,Record=@Record,Event_Attendance=@Event_Attendance,Members_Status=@Members_Status,GTA_V_Crew_Member=@GTA_V_Crew_Member,Games_Owned=@Games_Owned,Rep_Group=@Rep_Group WHERE Members_ID =)"(midtxt.Text), con)
    cmd.Parameters.Add(p(0))
    cmd.Parameters.Add(p(1))
    cmd.Parameters.Add(p(2))
    cmd.Parameters.Add(p(3))
    cmd.Parameters.Add(p(4))
    cmd.Parameters.Add(p(5))
    cmd.Parameters.Add(p(6))
    cmd.Parameters.Add(p(7))
    cmd.Parameters.Add(p(8))
    cmd.Parameters.Add(p(9))
    cmd.Parameters.Add(p(10))
    cmd.Parameters.Add(p(11))
    cmd.Parameters.Add(p(12))
    cmd.Parameters.Add(p(13))
    cmd.Parameters.Add(p(14))
    cmd.Parameters.Add(p(15))
    cmd.ExecuteScalar() 'This is where the Error is detected.
    MsgBox("Data has been saved!")

    da = New SqlDataAdapter("SELECT * FROM PersonsA", con)
    ds = New DataSet
    da.Fill(ds, "PersonsA")

    LeadersAccessTable.DataGridView1.DataMember = "PersonsA"
    LeadersAccessTable.DataGridView1.DataSource = ds

    con.Close()
End Sub

而且帮助也太好了!我也是vb中SQL的新手

只需删除update语句中set子句周围的额外括号
()
。像这样的

UPDATE PersonsA 
SET Members_ID=@Members_ID,
    Gamer_Tag=@Gamer_Tag,
    Screenname=@Screenname,
    First_Name=@First_Name,
    Last_Name=@Last_Name,
    DoB=@DoB,
    .
    .so on....
WHERE Members_ID = @var