以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQL2008用ADO出错,如何解决?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=195907)

--  作者:lgz518
--  发布时间:2025/3/20 9:17:00
--  SQL2008用ADO出错,如何解决?
 "name": "sqlserver01",
        "type": "sqlserver",
        "connectionString": "EA15E16B5A5E80A0B8F64FD80551F5C3B5C5109FEBBABE8AEEA40934EAB1D85925F254F3967C56EFCAC1DF6EFDBD77FF5FE075E1AA1CA75767DAF84EA4A206A1CF9CD21AA7F85E334AB30A75C365FDB31F0B28DAD846F6995DF15A428CF373710EA72F7BB56AE6C7316663134F7AB1DC"
      },

        "name": "sqlserver01",
        "type": "sqlserver",
        "connectionString": "server=127.0.0.1;user id=SQL08;password=123;database=sqlserver01;sslmode=none"
      },

SQL2008用ADO,上面红字代码改下面红字代码,执行后,提示找不到对象,没有数据
问题一:如何改?
问题二:在上面基础上加个端口号,要加在哪?

ACCESS,SQL2008,MYSQL的修改端口号可多少到多少号?




--  作者:有点蓝
--  发布时间:2025/3/20 9:50:00
--  
"connectionString": "Data Source=127.0.0.1;Initial Catalog=test;Persist Security Info=false;User ID=SQL08;Password=123;Timeout=90"

加端口

"connectionString": "Data Source=127.0.0.1,1433;Initial Catalog=test;Persist Security Info=false;User ID=SQL08;Password=123;Timeout=90"

--  作者:lgz518
--  发布时间:2025/3/20 12:02:00
--  
Persist Security Info=false;
Timeout=90
以上二行是代表什么意思?

--  作者:有点蓝
--  发布时间:2025/3/20 12:05:00
--  
百度了
--  作者:lgz518
--  发布时间:2025/3/20 12:46:00
--  
错误所在事件:窗口,用户登录窗口,AfterLoad
详细错误信息:
未将对象引用设置到对象的实例。SQL2008


Dim db = HySql.DataBaseFactory.CreateDatabase("y12db") \'
Dim SqlG = "SELECGT DISTINCT 姓名 From 用户表;" \'"

Dim dt As system.data.DataTable = db.ExecuteDataSet(SqlG).Tables(0)
dt.TableName = "用户表" \'"
Dim cmb As WinForm.ComboBox = e.Form.Controls("姓名")\'"

For Each dr As system.data.DataRow In dt.rows
    cmb.Items.Add(dr("姓名")) \'
Next
cmb.SelectedIndex = 0

--  作者:有点蓝
--  发布时间:2025/3/20 13:34:00
--  
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错
--  作者:lgz518
--  发布时间:2025/3/20 14:07:00
--  
Dim db = HySql.DataBaseFactory.CreateDatabase("y12db") \'
Dim SqlG = "SELECGT DISTINCT 姓名 From 用户表;" \'"
MessageBox.Show(SqlG)
Dim dt As system.data.DataTable = db.ExecuteDataSet(SqlG).Tables(0)
dt.TableName = "用户表" \'"
Dim cmb As WinForm.ComboBox = e.Form.Controls("姓名")\'"
MessageBox.Show(1)
For Each dr As system.data.DataRow In dt.rows
    cmb.Items.Add(dr("姓名")) \'

还是报错下面提示:没有其他提示
错误所在事件:窗口,用户登录窗口,AfterLoad
详细错误信息:
未将对象引用设置到对象的实例。SQL2008
Next
cmb.SelectedIndex = 0

--  作者:lgz518
--  发布时间:2025/3/20 14:09:00
--  
试过MYSQL,ACCESS都可以,SQLG2008是出错,是什么原因?
--  作者:有点蓝
--  发布时间:2025/3/20 14:17:00
--  
如果MessageBox都没有弹出来,说明不是什么代码的问题。可能是配置文件有问题。如果是SqlServer,建议使用foxtable提供的用法直接设置数据源,没有必要使用第三方组件
--  作者:lgz518
--  发布时间:2025/3/20 14:28:00
--  
有一个项目之前用MYSQL开发,现在要转SQLG2008,如改用ET,安全,代码量改很大