以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sqltable 二进制新增行必须先保存,才能提取或设置后台数据,麻烦老师看看 谢谢! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169847) |
-- 作者:cnsjroom -- 发布时间:2021/7/3 11:31:00 -- sqltable 二进制新增行必须先保存,才能提取或设置后台数据,麻烦老师看看 谢谢! 新增行必须先保存,才能提取或设置后台数据,麻烦老师看看 谢谢! 窗体加载前代码: Dim cmd As new SQ LCommand cmd.Connect i cmd.CommandText = "Se ect 文件名,类型,id,CRC值,登记时间,信息 From {文件附件} " Dim dt As DataTable = cmd.ExecuteReader() Tables("主窗口_Table1").DataSource = dt Tables("主窗口_Table1").SetColVisibleWidth("文件名|230|类型|50") Dim cmd1 As new SQ LCommand cmd1.Connec ti cmd1.CommandText = "Sel ect * From {文件信息} " Dim dt1 As DataTable = cmd1.ExecuteReader() Tables("主窗口_Table2").DataSource = dt1 Tables("主窗口_Table2").SetColVisibleWidth("时间|90|作者|80|分类|80|对象|150|主题|200|备注|400") 新增文件信息代码: Dim r As Row = Tables("主窗口_table2").Current If r IsNot Nothing Then r.Locked = False Dim id As WinForm.TextBox = e.Form.Controls("TextBox1") Dim dw As WinForm.ComboBox = e.Form.Controls("ComboBox1") Dim zz As WinForm.ComboBox = e.Form.Controls("ComboBox2") Dim sj As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1") Dim dx As WinForm.ComboBox = e.Form.Controls("ComboBox3") Dim zt As WinForm.ComboBox = e.Form.Controls("ComboBox4") Dim fl As WinForm.ComboBox = e.Form.Controls("ComboBox5") Dim bz As WinForm.TextBox = e.Form.Controls("TextBox2") r("ID")=id.Text r("单位")=dw.Text r("作者")=zz.text r("时间")=sj.Value r("对象")=dx.Text r("主题")=zt.text r("分类")=fl.text r("备注")=bz.text r.Save r.Table.AllowEdit=False End If Tables("主窗口_table2").DataTable.Save Tables("主窗口_table2").save DataTables("文件信息").save 后台都没有数据写入 新增文件附件代码: Dim r1 As Row = Tables("主窗口_table2").Current If r1 IsNot Nothing Then Dim BC As WinForm.Button = e.Form.Controls("保存信息") BC.PerformClick Dim dlg As New OpenFileDialog dlg.Filter = "所有文件|*.*" If dlg.ShowDialog =DialogResult.OK Then Dim fl As String = dlg.FileName Dim ifo As new FileInfo(fl) Dim sj As Double Dim Multi As String = (ifo.Length) Dim Values() As String Values = Multi.split(".") sj=Values(0) \'If sj > 1073741824 Then \'文件大于1gb If sj > 524288000 Then \'文件大于500mb MessageBox.Show("文件"& Format(Values(0)/1024/1024,"0.00") &"MB" &"过大,只能上传小于500MB的文件!","温馨提示") Else MessageBox.Show("文件"& Format(Values(0)/1024/1024,"0.00") &"MB" &"小于500MB,支持上传!","温馨提示") Dim r As Row = Tables("主窗口_table1").AddNew() r("文件名") ="[" & format(Date.now,"yyyyMdHms") & "]" & FileSys.GetName(fl) \'写入文件名 If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".ico") OrElse fl.EndsWith(".gif") Then r("类型")="图片" Else If fl.EndsWith(".mp4") OrElse fl.EndsWith(".wmv") OrElse fl.EndsWith(".mpg") OrElse fl.EndsWith(".avi") OrElse fl.EndsWith(".m2ts") OrElse fl.EndsWith(".mp3") Then r("类型")="音视频" Else If fl.EndsWith(".zip") OrElse fl.EndsWith(".rar") OrElse fl.EndsWith(".exe") Then \'fl.EndsWith(".txt") OrElse fl.EndsWith(".pdf") OrElse r("类型")="文件" Else r("类型")="文档" End If r("id")=Tables("主窗口_table2").Current("ID") r("登记时间")=Date.today r("信息")=Tables("主窗口_table2").Current("分类") r.Save \'必须先保存 r.DataRow.SQLInsertFile("附件",fl) \'插入文件 r.DataRow.SQLSetValue("CRC值", CRCCheckFile(fl)) \'保存crc检验值 End If End If Tables("主窗口_table1").Filter="id= \'" & Tables("主窗口_table2").Current("id") & "\'" Else MessageBox.Show("请先【新增信息】记录,方可【上传文件】.","温馨提示!") End If [此贴子已经被作者于2021/7/3 11:41:36编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/7/3 11:46:00 -- Dim dt1 As DataTable = cmd1.ExecuteReader(true)
|
-- 作者:cnsjroom -- 发布时间:2021/7/3 12:20:00 -- 回复:(有点蓝)Dim dt1 As DataTable = cmd1.Execut... .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.5.29.8 错误所在事件:窗口,主窗口,AfterLoad 详细错误信息: 对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。 |
-- 作者:有点蓝 -- 发布时间:2021/7/3 14:21:00 -- cmd.CommandText = "Select [_identify],文件名,类型,id,CRC值,登记时间,信息 From {文件附件} " |
-- 作者:cnsjroom -- 发布时间:2021/7/3 16:25:00 -- 回复:(有点蓝)cmd.CommandText = "Select [_identi... ok 谢谢老师 |