vb使用update更新access数据问题,求大神

PublicSubCommand1_Click()DimskeyAsStringDimidAsIntegerDimxAsIntegerskey=Form1.ListVie... Public Sub Command1_Click()
Dim skey As String
Dim id As Integer
Dim x As Integer
skey = Form1.ListView_dt.SelectedItem.Key
If Form1.ListView_dt.SelectedItem Is Nothing Then
Exit Sub
End If
id = Mid(skey, 3, Len(skey) - 2)
x = MsgBox("你确定要删除此行记录吗", vbYesNo, "提示")
If x = 6 Then
gcncon.Execute ("update studinfor set id=" & Textid.Text)
Form1.loaddate1
End If
End Sub
这是我的代码,运行后系统说不能更新“id”,字段不可更新,图是我的VB界面
展开
 我来答
老刀正能量
2011-11-25 · TA获得超过2011个赞
知道大有可为答主
回答量:1487
采纳率:0%
帮助的人:1551万
展开全部
你的数据库里面的ID如果是自动编号的话,那当然是无法更新的!
程序并没有问题,你的ID字段肯定是自动编号造成的!

从你的图片中可以看出,你的学号字段为文本型的,所以得用以下语句来更新!
更新学号如下:
sql = "UPDATE studinfor set xh = '" & 学号文本框.Text & "'"

如果你要加上条件判断的话,得这样处理!

sql = "UPDATE studinfor set xh = '" &学号文本框.Text & "' where id="&Textid.Text
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
amduzi
2011-11-25 · TA获得超过1402个赞
知道小有建树答主
回答量:1911
采纳率:0%
帮助的人:892万
展开全部
不理解的是为什么你要update,不是直接使用delete操作数据库。

gcncon.Execute ("DELETE studinfor.* FROM studifor WHERE studinfor.id='" & textid.text & "';")

另外,操作时确认你的数据库是open的。
更多追问追答
追问
不是,我想实现用SQL语句来更新access中的数据,而不是删除数据,
追答
你用SQL操作完数据库类型后,直接使用

gcncon.update
就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
llp01
2011-11-25 · TA获得超过324个赞
知道小有建树答主
回答量:413
采纳率:0%
帮助的人:248万
展开全部
确认数据库id不是自动编号
追问
Public Sub Command1_Click()
Dim skey As String
Dim sql As String
Dim id As Integer
Dim x As Integer
skey = Form1.ListView_dt.SelectedItem.Key
If Form1.ListView_dt.SelectedItem Is Nothing Then
Exit Sub
End If
sql = "UPDATE studinfor SET xh = " & Textid.Text
End Sub
那这个代码没错,为什么运行后改不了呢?没有任何的变化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式