Foxtable(狐表)用户栏目专家坐堂 → [求助] 错误码


  共有3889人关注过本帖树形打印复制链接

主题:[求助] 错误码

帅哥哟,离线,有人找我吗?
sanny
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
[求助] 错误码  发帖心情 Post By:2021/3/12 21:32:00 [只看该作者]

老师,以下黄色标注的请帮忙更正一下,另外整个代码可以优化吗 ? 感谢。


Dim txt  As  String = e.Form.Controls("TextBox1").Text
txt = Tables("生产任务单").Current("生产任务单号")
e.Form.Controls("TextBox1").Text = txt


Dim val As Integer
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Se lect top 1 ImageBinary From {SDBC_Sa} Where BarcodeData ='" & e.Form.Controls("TextBox1").Text & "'and DATALENGTH(ImageBinary) > 0 and resend = 1,Date2 desc"
Dim dt As DataTable = cmd.ExecuteReader
If dt.datarows.count > 0 Then
Dim imagebytes As Byte() = dt.DataRows(0)("ImageBinary")
Dim stream As System.IO.Stream = New System.IO.MemoryStream(imagebytes)
Dim bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(stream)
Dim pbx As WinForm.PictureBox = Forms("pic").Controls("PictureBox1")
pbx.Image = bmp

Else

cmd.CommandText = "Sel ect top 1 ImageBinary From {SDBC_Sa} Where BarcodeData ='" & e.Form.Controls("TextBox1").Text & "'and DATALENGTH(ImageBinary) > 0"
'Dim dt As DataTable = cmd.ExecuteReader
If dt.datarows.count > 0 Then
Dim imagebytes As Byte() = dt.DataRows(0)("ImageBinary")
Dim stream As System.IO.Stream = New System.IO.MemoryStream(imagebytes)
Dim bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(stream)
Dim pbx As WinForm.PictureBox = Forms("pic").Controls("PictureBox1")
pbx.Image = bmp

End If

End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/13 9:42:00 [只看该作者]

Dim val As Integer
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Se lect top 1 ImageBinary From {SDBC_Sa} Where BarcodeData ='" & e.Form.Controls("TextBox1").Text & "'and DATALENGTH(ImageBinary) > 0 order by resend,Date2 desc"
Dim dt As DataTable = cmd.ExecuteReader
If dt.datarows.count > 0 Then
Dim imagebytes As Byte() = dt.DataRows(0)("ImageBinary")
Dim stream As System.IO.Stream = New System.IO.MemoryStream(imagebytes)
Dim bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(stream)
Dim pbx As WinForm.PictureBox = Forms("pic").Controls("PictureBox1")
pbx.Image = bmp

End If

 回到顶部
帅哥哟,离线,有人找我吗?
sanny
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2021/3/13 11:43:00 [只看该作者]

老师,

order by resend 加这个有点不对,我只有有钩的,resend = 1, 然后再将Date2 降序操作

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/13 12:13:00 [只看该作者]

这个是结合了1楼2条sql的结果,自己细品一下。测试有什么问题?

 回到顶部
帅哥哟,离线,有人找我吗?
sanny
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2021/3/13 12:31:00 [只看该作者]

老师,是有点不对,

条件一 : 取 resend = 1 并且  Date2 的最晚的一条记录

条件二 :如果 没有 resend = 1 的记录, 就取Date2 最早的一条记录

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/13 14:37:00 [只看该作者]

那还是分2次把,1楼代码不变

cmd.CommandText = "Se lect top 1 ImageBinary From {SDBC_Sa} Where BarcodeData ='" & e.Form.Controls("TextBox1").Text & "'and DATALENGTH(ImageBinary) > 0 and resend = 1,Date2 desc"
改为
cmd.CommandText = "Se lect top 1 ImageBinary From {SDBC_Sa} Where BarcodeData ='" & e.Form.Controls("TextBox1").Text & "'and DATALENGTH(ImageBinary) > 0 and resend = 1 order by Date2 desc"

 回到顶部
帅哥哟,离线,有人找我吗?
sanny
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2021/3/13 17:56:00 [只看该作者]

谢谢老师

以下这个黄色不对,可以也帮忙修改一下,谢谢。

Dim fdr As DataRow = dt.Find("BarcodeData='" & rr("生产任务单号") & "' and Resend = 1,Date desc")


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/14 20:09:00 [只看该作者]


 回到顶部