vb.net修改信息时只要是另一个表的主键就无法修改(特别急!)

岁岁版 2020-07-22 04:44:34
图书借阅系统
遗失功能和Borrow表如图,
实现当输入Borrow中已有的借书证号bor_number和书号b_number时,修改Borrow里的loss。
当前代码可以执行但对表没用作用。但换成sqlstr = "update Borrow set loss='" & Trim(TextBox3.Text) & "'where bor_time='" & Trim(DateTimePicker1.Value) & "'and bac_time='" & Trim(DateTimePicker2.Value) & "'"就可以执行。我发现只要是另一个表的主键就无法实现,但是去掉主键无法实现功能。求助!!!
代码: Dim conn As SqlConnection

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
Me.Validate()
Me.BorrBindingSource1.EndEdit()
Me.BorrowTableAdapter.Update(Me.YSDataSet1.Borrow)
conn = New SqlConnection()
conn.ConnectionString = "Data Source=DESKTOP-0VDRKDC;Initial Catalog=student1;Integrated Security=True"
conn.Open()
Dim sqlstr As String
sqlstr = "update Borrow set loss='" & Trim(TextBox3.Text) & "'where bor_number='" & Trim(TextBox1.Text) & "' and b_number='" & Trim(TextBox2.Text) & "' and bor_time='" & Trim(DateTimePicker1.Value) & "'and bac_time='" & Trim(DateTimePicker2.Value) & "'"
Dim comm As New SqlCommand(sqlstr, conn)
comm.ExecuteNonQuery()
conn.Close()
MsgBox("添加信息成功")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
...全文
2087 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
三楼の郎 2020-07-23
  • 打赏
  • 举报
回复
char(10)改varchar(10)或者nvarchar(10)吧,很显然你并不了解cha这种数据类型。
  • 打赏
  • 举报
回复
把sqlstr 打印出来然后放数据库里去执行,看看有没有成功,最好看看你的数据,你类型定的char(10),数据是不是没满10个,自动加了空格,你条件查的时候却不要空格,肯定是匹配不上了
  • 打赏
  • 举报
回复
SQL语句好似有2表处理的示例。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧