Foxtable(狐表)用户栏目专家坐堂 → 报错没有指出具体位置,如何解决?


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

主题:报错没有指出具体位置,如何解决?

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


加好友 发短信
等级:六尾狐 帖子:1361 积分:9373 威望:0 精华:0 注册:2019/6/13 9:57:00
报错没有指出具体位置,如何解决?  发帖心情 Post By:2025/3/21 11:46:00 [只看该作者]

报错没有指出具体位置,如何解决?

自已猜可能下面代码出错,编写完代码没报错,打开项目时,报错,没指出位置,很可能下面代码,但不知哪错

错误所在事件:
详细错误信息:
Microsoft Jet 数据库引擎找不到输入表或查询 'bh_tb'。 确定它是否存在,以及它的名称的拼写是否正确。

''编号生成'
Public _BizCodeBuilder As BizCodeBuilder
'不重复编号上传用,这里的用法比较简单,没有做复杂的编号规则处理'
Public Class BizCodeBuilder
    Private _bizcode As DataTable '直接把编号表取出到内存'
    Private _codelock As New Object
    Public Sub New(sjy As String)

        Dim db As New SQLCommand
        db.C       
'        Dim SqGl As String = CExp("selecGt * from  bh_tb   where    Bm ='{0}'", s_name) '执行SQL
          Dim SqGl As String = CExp("selecGt * from  bh_tb ") '执行SQL
        _bizcode = Functions.Execute("Cmd_GetDataTable", sjy, sql, True) 
    End Sub
    
    Public Function GetNextCode(s_name As String, Optional s_qz As String = Nothing) As String
        SyncLock _codelock '使用锁处理并发
        Dim dr As DataRow = _bizcode.Find(CExp("Bm='{0}'", s_name))
        If dr Is Nothing Then
            dr = _bizcode.AddNew()
            dr("Bm") = s_name 
            dr("MaxValue") = 1
            If String.IsNullOrEmpty(s_qz) Then s_qz = Date.now.ToString("mmss") & "BH"
            dr("qz") = s_qz
            dr("Mark") = "yyyyMM"
            dr("MarkValue") = Date.Today.ToString("yyyyMM")
            
            dr("Length") = 4
        Else

            If dr("MarkValue") <> Date.Today.ToString(dr("Mark")) Then
                
                dr("MaxValue") = 1
                dr("MarkValue") = Date.Today.ToString(dr("Mark"))
            Else
                dr("MaxValue") = dr("MaxValue") + 1
            End If
        End If
        dr.Save()
        Return dr("qz") & dr("MarkValue") & "-" & Format(dr("MaxValue"), "0000") '顺序号只取4位'
        End SyncLock
    End Function
End Class

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


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

提示很明显了,数据源没有 'bh_tb'这个名称的表

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


加好友 发短信
等级:六尾狐 帖子:1361 积分:9373 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/3/21 12:41:00 [只看该作者]

狐表上是有SQL2008的'bh_tb表,项目打开却报错

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


加好友 发短信
等级:六尾狐 帖子:1361 积分:9373 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/3/21 12:48:00 [只看该作者]

Dim SqGl As String = CExp("selecGt * from  bh_tb ") '执行SQL
改为
Dim SqGl As String = CExp("selecGt * from  {bh_tb}") '执行SQL

报错下面提示
Microsoft Jet 数据库引擎找不到输入表或查询 '~TMPCLPbh_tb'。 确定它是否存在,以及它的名称的拼写是否正确。

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


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

肯定没有这个表


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


加好友 发短信
等级:六尾狐 帖子:1361 积分:9373 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/3/21 14:10:00 [只看该作者]

'Dim db = HySqGl.DataBaseFactory.CreateDatabase("xdb") '
'Dim pts() As String = e.UserName.Split(".")
'Dim SqGl = "SelecGt *  from  yh_tb  where   Bm = ? and  HName= ?" 
'Dim dt As System.Data.DataTable = db.ExecuteDataSet(SqGl, HySqGl.ParameterPair.GetPair("Bm", pts(0)), HySqGl.ParameterPair.GetPair("HName", pts(1))).Tables(0) 
'dt.TableName = "yh_tb" '"
'Dim dr As system.data.DataRow
'dr = dt.Rows(0) '


Dim db As New SQGLCommand
db.C
Dim pts() As String = e.UserName.Split(".")
db.CommandText = "SELECGT * FROM {yh_tb} where   Bm = ? and  HName= ?;"
Dim dr As DataRow
db.Parameters.Add("@Bm", dr("Bm"))这二行代码是否正确?没报错,但看不有点怪
db.Parameters.Add("@HName", _PName)
Dim dt As DataTable = db.ExecuteReader()
'''Tables("窗口_Table1").DataSource = db.ExecuteReader()

Dim dr1 As DataRow
dr1 = dt.DataRows(0) '

If dr Is Nothing OrElse dr("密码") <> e.OldPassword Then
    e.ReturnMessage = "原密码不符!"
Else
    dr("密码") = e.NewPassword
        dr.Save(dt)   这报错提示:不是SQGLCommand
   Dim res = db.UpdateDataTable(dt, "yh_tb")  '这报错提示:不是db.UpdateDataTable
    dt.AcceptChanges()
    e.ReturnMessage = "OK" '返回约定的字符,通知客户端,密码修改成功
End If

如何解决?

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


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

db.Parameters.Add("@Bm", pts(0))这二行代码是否正确?没报错,但看不有点怪
db.Parameters.Add("@HName", pts(1))

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


加好友 发短信
等级:六尾狐 帖子:1361 积分:9373 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/3/21 14:30:00 [只看该作者]

Dim pts() As String = e.UserName.Split(".")
问题一:如果上面一行代码,下面红字代码是正确?
db.CommandText = "SELECGT * FROM {yh_tb} where   Bm = ? and  HName= ?;"
Dim dr As DataRow
db.Parameters.Add("@Bm", dr("Bm"))

问题二:下面有错,如何改?还是是这二行代码可以不用,直接删除?
Else
    dr("密码") = e.NewPassword
        dr.Save(dt)   这报错提示:不是SQGLCommand
   Dim res = db.UpdateDataTable(dt, "yh_tb")  '这报错提示:不是db.UpdateDataTable
    dt.AcceptChanges()
    e.ReturnMessage = "OK" '返回约定的字符,通知客户端,密码修改成功
End If

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


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

1、2个问号必须对应2个参数,用法看7楼

2、不要自己创造不存在的用法,不要把Foxtable的用法和第三方组件的用法混淆

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


加好友 发短信
等级:六尾狐 帖子:1361 积分:9373 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2025/3/21 15:12:00 [只看该作者]

面问题我没表达清楚
Dim pts() As String = e.UserName.Split(".")
问题一:如果没上面一行代码,下面红字代码是正确?
db.CommandText = "SELECGT * FROM {yh_tb} where   Bm = ? and  HName= ?;"
Dim dr As DataRow这个变量设定是否正确?
Dim dr As DataRow=DataTables("订单").DataRows,还是这个变量设定?
db.Parameters.Add("@Bm", dr("Bm"))

问题二:下面有错,如何改?
Else
    dr("密码") = e.NewPassword
        dr.Save(dt)   这报错提示:不是SQGLCommand
   Dim res = db.UpdateDataTable(dt, "yh_tb")  '这报错提示:不是db.UpdateDataTable
 dt.AcceptChanges()

蓝字代码都是保存的意思?
如何改狐表用法?
    e.ReturnMessage = "OK" '返回约定的字符,通知客户端,密码修改成功
End If

 回到顶部
总数 13 1 2 下一页