初学VB.NET,一个数据操作的小问题,大家帮我下,谢谢!!

nesle 2005-02-05 01:28:45
连接的是ACCESS数据库,我在作出库的时候想判断一下出货的数量和库存数量的大小,我的程序如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If aCon.State = ConnectionState.Closed Then aCon.Open()

Dim chukuSQL As String
Dim chukudate1 As String
Dim zongkudeleteSQL As String
Dim zongkuUpdateSQL As String
Dim sl As Integer
Dim zj As Double
Dim zongkuNum As Integer
Dim zongkunumSQL As String
Dim i As Integer

zongkunumSQL = "select num From zongku Where zongku.[id] = '" & TextBox1.Text & "' AND zongku.[name] = '" & TextBox2.Text & "' AND zongku.[class] = '" & TextBox3.Text & "' AND zongku.[size] = '" & TextBox4.Text & "'"

aCom.CommandText = zongkunumSQL
aCom.Connection = aCon
zongkuNum = aCom.ExecuteScalar()


zj = CDbl(TextBox7.Text)

chukudate1 = TextBox8.Text
chukudate1 &= "/"
chukudate1 &= ComboBox1.Text
chukudate1 &= "/"
chukudate1 &= ComboBox2.Text

'?于字符型字段要加?引号
chukuSQL = "Insert Into chuku([id],[name],[class],[size],[num],[price],[amount],[chukudate]) values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "','" & chukudate1 & "')"

zongkudeleteSQL = "delete From zongku Where zongku.[id] = '" & TextBox1.Text & "' AND zongku.[name] = '" & TextBox2.Text & "' AND zongku.[class] = '" & TextBox3.Text & "' AND zongku.[size] = '" & TextBox4.Text & "'"

zongkuUpdateSQL = "Update zongku Set num = num - " & TextBox5.Text & ", amount = amount - " & TextBox7.Text & " Where zongku.[id] = '" & TextBox1.Text & "' AND zongku.[name] = '" & TextBox2.Text & "' AND zongku.[class] = '" & TextBox3.Text & "' AND zongku.[size] = '" & TextBox4.Text & "'"


If DataCheck(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text) = True Then
MsgBox("there is not this thing")
Else
Select Case i = zongkuNum - (Me.TextBox5.Text)
Case i < 0
MsgBox("the chukunum is wrong")
Case i = 0
aCom.CommandText = zongkudeleteSQL
aCom.Connection = aCon
aCom.ExecuteNonQuery()
aCom.CommandText = chukuSQL
aCom.Connection = aCon
aCom.ExecuteNonQuery()
MsgBox("successful")
Case i > 0
aCom.CommandText = zongkuUpdateSQL
aCom.Connection = aCon
aCom.ExecuteNonQuery()
aCom.CommandText = chukuSQL
aCom.Connection = aCon
aCom.ExecuteNonQuery()
MsgBox("successful")
End Select
End If
aCon.Close()
End Sub
我现在的问题是,数量正好的时候没问题,但是出库的数量小于库存的时候,他却一直返回 Case i < 0
MsgBox("the chukunum is wrong")
,不知道是不是这段返回的值有问题啊???
zongkunumSQL = "select num From zongku Where zongku.[id] = '" & TextBox1.Text & "' AND zongku.[name] = '" & TextBox2.Text & "' AND zongku.[class] = '" & TextBox3.Text & "' AND zongku.[size] = '" & TextBox4.Text & "'"

aCom.CommandText = zongkunumSQL
aCom.Connection = aCon
zongkuNum = aCom.ExecuteScalar()
...全文
137 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xufan_1976 2005-02-07
  • 打赏
  • 举报
回复
是你的Select...Case...写错了
你把它改成
i = zongkuNum - (Me.TextBox5.Text)
Select Case i
Case Is < 0
MsgBox("the chukunum is wrong")
Case 0
......
MsgBox("successful")
Case Is > 0
......
MsgBox("successful")
End Select
nesle 2005-02-05
  • 打赏
  • 举报
回复
还是不行,我也不知道什么问题了
seesea125 2005-02-05
  • 打赏
  • 举报
回复
ACCESS不能用存储过程啊
seesea125 2005-02-05
  • 打赏
  • 举报
回复
zongkuNum = (cint(Com.ExecuteScalar()))
(cint(Me.TextBox5.Text))
都转成int型
另外Response.Write(Me.TextBox5.Text)检查一下Me.TextBox5.Text是否是你输入的值
nesle 2005-02-05
  • 打赏
  • 举报
回复
ACCESS能不能用存储过程啊?我不太清楚
nesle 2005-02-05
  • 打赏
  • 举报
回复
Select Case i = zongkuNum - (Me.TextBox5.Text)对下面那句的
zongkuNum = aCom.ExecuteScalar(),zongkuNum是库存的数量,可是(cint(Me.TextBox5.Text))也还是不行

AllenTing 2005-02-05
  • 打赏
  • 举报
回复
Select Case i = zongkuNum - (Me.TextBox5.Text)
这句怎么看不懂??
还有照你写的返回应该是string 型的,怎么和int型的比较??
toilingchen 2005-02-05
  • 打赏
  • 举报
回复
哦,对不起,你用的是Access。sorry
toilingchen 2005-02-05
  • 打赏
  • 举报
回复
你还是做一个存储过程吧,在出库的时候锁住出库的商品,否则并发的时候有问题呀,看者也不爽。

16,554

社区成员

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

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