vb向数据库中添加记录问题
'取商品编号WhileNotfoundAndNotrst2.EOFi=InStr(cobProduct.Text,"")P=Left(cobProduct.Text,i-...
'取商品编号
While Not found And Not rst2.EOF
i = InStr(cobProduct.Text, "")
P = Left(cobProduct.Text, i - 1)
M = Mid(cobProduct.Text, i + 1)
If (rst2.Fields("p_name") = P) And _
(rst2.Fields("p_model") = M) Then
found = True
PID = rst2.Fields("p_id")
Else
rst2.MoveNext
End If
Wend
rst2.Close
'向进货表格添加记录
rst2.Open "input", db, , , adCmdTable
With rst2
.AddNew
!i_id = txtInputId.Text
!p_id = PID
!i_count = CLng(txtCount.Text)
!i_inprice = Price
!i_date = CDate(txtYear.Text & "/" & txtMonth.Text & _
"/" & txtDay.Text)
.Update
End With
rst2.Close
以上功能是向input表中添加i_id,p_id,i_count,i_inprice,i_date几个字段。每添加一项记录,数据库中其他字段都有了内容,但是p_id字段始终为空,不知道为什么唯独这个字段插入不了?是语句哪里出问题了吗?
不是主键
数据类型就是varchar
属于kowest所说的第一种情况。我把IF及While条件去掉,数据库中就有记录了。只是不知道这样的操作有什么弊端?直接这样用行不行?如何完善?
终于知道这样做的弊端了,就是插入的p_id全都是p000001,不会自动增加的。
请高手帮我写两行语句,能够正确实现上述简单功能的。 展开
While Not found And Not rst2.EOF
i = InStr(cobProduct.Text, "")
P = Left(cobProduct.Text, i - 1)
M = Mid(cobProduct.Text, i + 1)
If (rst2.Fields("p_name") = P) And _
(rst2.Fields("p_model") = M) Then
found = True
PID = rst2.Fields("p_id")
Else
rst2.MoveNext
End If
Wend
rst2.Close
'向进货表格添加记录
rst2.Open "input", db, , , adCmdTable
With rst2
.AddNew
!i_id = txtInputId.Text
!p_id = PID
!i_count = CLng(txtCount.Text)
!i_inprice = Price
!i_date = CDate(txtYear.Text & "/" & txtMonth.Text & _
"/" & txtDay.Text)
.Update
End With
rst2.Close
以上功能是向input表中添加i_id,p_id,i_count,i_inprice,i_date几个字段。每添加一项记录,数据库中其他字段都有了内容,但是p_id字段始终为空,不知道为什么唯独这个字段插入不了?是语句哪里出问题了吗?
不是主键
数据类型就是varchar
属于kowest所说的第一种情况。我把IF及While条件去掉,数据库中就有记录了。只是不知道这样的操作有什么弊端?直接这样用行不行?如何完善?
终于知道这样做的弊端了,就是插入的p_id全都是p000001,不会自动增加的。
请高手帮我写两行语句,能够正确实现上述简单功能的。 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询