Foxtable(狐表)用户栏目专家坐堂 → 关于MYSQL


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

主题:关于MYSQL

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
关于MYSQL  发帖心情 Post By:2020/11/19 14:54:00 [只看该作者]

我封装了一个mysql的函数


 Public Shared Function ExecuteReader(ByVal sql As String, ParamArray ps As MySqlParameter()) As MySqlDataReader
        Using conn As MySqlConnection = CreateConnection()

            Using cmd As MySqlCommand = conn.CreateCommand()
                cmd.CommandText = sql

                If ps IsNot Nothing Then
                    cmd.Parameters.AddRange(ps)
                End If

                Return cmd.ExecuteReader()
            End Using
        End Using
    End Function

我用VS窗口是 可以获取数据的

但是我放到BS接口中获取不了数据

 Dim page As Integer = 0
        Dim pageRows As Integer
        If e.Values.ContainsKey("page") Then  '如果地址中有page参数
            Integer.TryParse(e.Values("page"), page) '提取page参数
            page = e.Values("page") - 1
        End If
        If e.Values.ContainsKey("limit") Then  '如果地址中有page参数
            Integer.TryParse(e.Values("limit"), pageRows) '提取page参数
            pageRows = e.Values("limit")
        End If
        Dim StartRow As Integer = page * pageRows '此页第一行
        Dim EndRow As Integer = (page + 1) * pageRows
        Dim SqlText As String = "sel         ect id,username from sys_user where id=?id ORDER BY id LIMIT " & StartRow & "," & EndRow
        Dim pars As MySqlParameter() = {New MySqlParameter("?id", MySqlDbType.String)}
        pars(0).Value = "0000919b63324fdfb29c78623fdcb4bf"
        Dim sdr As MySqlDataReader
sdr  = MySqlHelper.ExecuteReader(SqlText, pars)
        Output.Show(sdr.FieldCount)       获取不了 
Output.Show(sdr.Getname(0))    获取不了


这个代码有啥问题?





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


加好友 发短信
等级:超级版主 帖子:110769 积分:563777 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/19 15:02:00 [只看该作者]

到vs里调试能不能进入函数?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2020/11/19 15:05:00 [只看该作者]

以下是引用有点蓝在2020/11/19 15:02:00的发言:
到vs里调试能不能进入函数?
我用VS窗口用了这个函数

  Public Shared Function ExecuteDataTable(ByVal sql As String, ParamArray ps As MySqlParameter()) As DataTable
        Dim table As DataTable = New DataTable()

        Using conn As MySqlConnection = CreateConnection()

            Using cmd As MySqlCommand = conn.CreateCommand()
                cmd.CommandText = sql

                If ps IsNot Nothing Then
                    cmd.Parameters.AddRange(ps)
                End If

                Using adapter As MySqlDataAdapter = New MySqlDataAdapter(cmd)
                    adapter.Fill(table)
                End Using

                Return table
            End Using
        End Using
    End Function
执行代码
Dim SqlText As String = "sel        ect id,username from sys_user where id=?id"
        Dim pars As MySqlParameter() = {New MySqlParameter("?id", MySqlDbType.String)}
        pars(0).Value = "0000919b63324fdfb29c78623fdcb4bf"
        Dim dt As System.Data.DataTable = New System.Data.DataTable()
        dt = MySqlHelper.ExecuteDataTable(SqlText, pars)
        Me.DataGridView1.DataSource = dt

没有任何问题,但是这个函数在接口中同样获取不了数据 

 Dim SqlText As String = "sel         ect id,username from sys_user where id=?id ORDER BY id LIMIT " & StartRow & "," & EndRow
output.show(SqlText) 到这边还正常,往下就没反应了


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


加好友 发短信
等级:超级版主 帖子:110769 积分:563777 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/19 15:29:00 [只看该作者]

        Dim SqlText As String = "sel         ect id,username from sys_user where id=?id ORDER BY id LIMIT " & StartRow & "," & EndRow
output.show(SqlText) 
        Dim pars As MySqlParameter() = {New MySqlParameter("?id", MySqlDbType.String)}
output.show("这里能不能显示?") 
        pars(0).Value = "0000919b63324fdfb29c78623fdcb4bf"
        Dim sdr As MySqlDataReader
sdr  = MySqlHelper.ExecuteReader(SqlText, pars)
        Output.Show(sdr.FieldCount)       获取不了 
Output.Show(sdr.Getname(0))    获取不了

不用管什么VS窗口呀?打开web服务端,vs开启调试绑定foxtable.exe,到ExecuteReader函数里第一行代码设置断点,访问网页然后看看断点能不能触发调试

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2020/11/19 15:35:00 [只看该作者]

老大 不知道为啥 这个断点调试没有用,但是用狐表窗口的话就立马可以,很奇怪

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


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2020/11/19 15:38:00 [只看该作者]

如果是传DATATable 要有命名

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2020/11/19 15:53:00 [只看该作者]

犯了一个低级错误 没有把dll 外部引用

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


加好友 发短信
等级:六尾狐 帖子:1326 积分:9603 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2020/11/19 16:34:00 [只看该作者]

dll分享下呗

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2020/11/19 17:19:00 [只看该作者]

以下是引用浙江仔在2020/11/19 16:34:00的发言:
dll分享下呗

你要哪个dll  mysql.data的?


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


加好友 发短信
等级:六尾狐 帖子:1326 积分:9603 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2020/11/19 20:01:00 [只看该作者]

你的mysql的函数,可以添加mysql数据源使用吗?
[此贴子已经被作者于2020/11/19 20:03:56编辑过]

 回到顶部