如何更新主键设置为IsIdentity的数据? [英] How do I update data that has its its primary key set to IsIdentity?

查看:64
本文介绍了如何更新主键设置为IsIdentity的数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在以下代码中,命令执行但不会进行更新。主要问题是 IDNumber 在SQL Server数据库中设置为 IsIdentity

primary。如果有人可以帮助我,我会感激不尽。



In the following code the command executes but update doesn''t take place. The main issue is the
primary which is IDNumber is set to IsIdentity in the SQL Server database. I''d be thankful if someone could help me out.

If rbnCore.Checked = True Then
                    subject = "Core"
                Else : subject = "Elective"
                End If
qry = "Update ProgramDetails.Subjects set SubjectCode=@SubjectCode,SubjectName=@SubjectName,SubjectType=@SubjectType,UserID=@UserID,Password=@Password where IDNumber='" & txtIDNumber.Text & "'"
                cmd = New SqlCommand(qry, cn)
                cmd.Parameters.Add(New SqlParameter("@SubjectCode", txtSubjectCode.Text))
                cmd.Parameters.Add(New SqlParameter("@SubjectName", txtSubName.Text))
                cmd.Parameters.Add(New SqlParameter("@SubjectType", subject))
                cmd.Parameters.Add(New SqlParameter("@UserID", txtUserName.Text))
                cmd.Parameters.Add(New SqlParameter("@Password", txtPassword.Text))
                cmd.ExecuteNonQuery()
                MessageBox.Show("Record successfully updated", "Updated", MessageBoxButtons.OK, MessageBoxIcon.Information)

推荐答案

两个变化:

Two changes:
qry = "Update ProgramDetails.Subjects set SubjectCode=@SubjectCode,SubjectName=@SubjectName,SubjectType=@SubjectType,UserID=@UserID,Password=@Password where IDNumber=@IDNumber"

然后插入在 cmd.ExecuteNonQuery()

and then insert before cmd.ExecuteNonQuery()

cmd.Parameters.Add(New SqlParameter("@IDNumber", txtIDNumber.Text))


你在使用参数做得很好,为什么呢:

IDNumber = ''& txtIDNumber.Text& ''

顺便说一句:您正在将IDNumber(我假设是一个数字)与文本字符串进行比较......



最好的问候

Espen Harlinn
You''re doing a fine job using parameters, so why this:
IDNumber=''" & txtIDNumber.Text & "''"
Btw: You are comparing IDNumber, which I assume is a number, with a text string ...

Best regards
Espen Harlinn


这篇关于如何更新主键设置为IsIdentity的数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆