Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
lgz518 发表于: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楼
有点蓝 发表于:2025/3/21 11:49:00
提示很明显了,数据源没有 'bh_tb'这个名称的表
3楼
lgz518 发表于:2025/3/21 12:41:00
狐表上是有SQL2008的'bh_tb表,项目打开却报错
4楼
lgz518 发表于: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楼
有点蓝 发表于:2025/3/21 13:31:00
肯定没有这个表

或者没有指定数据源:http://www.foxtable.com/webhelp/topics/2344.htm
6楼
lgz518 发表于: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楼
有点蓝 发表于:2025/3/21 14:22:00
db.Parameters.Add("@Bm", pts(0))这二行代码是否正确?没报错,但看不有点怪
db.Parameters.Add("@HName", pts(1))
8楼
lgz518 发表于: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楼
有点蓝 发表于:2025/3/21 14:48:00
1、2个问号必须对应2个参数,用法看7楼

2、不要自己创造不存在的用法,不要把Foxtable的用法和第三方组件的用法混淆
10楼
lgz518 发表于: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 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03027 s, 2 queries.