为什么连接不成功的?~

myderek 2005-10-20 10:57:20
' Try
Dim constr As String = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=pos_db;USER=root;PASSWORD=;OPTION=3"
cn.ConnectionString = constr
cn.Open()
cmd = New Odbc.OdbcCommand("select * from t_in", cn)
da.SelectCommand = cmd
cmd.ExecuteNonQuery()

da.Fill(ds,"t_in") '出错地方
Me.DataGrid1.DataSource = ds.Tables("t_in")
MessageBox.Show("success!")
'Catch ex As Exception
MessageBox.Show("error!")
' End Try
出错提示:应用程序的组件中发生了未处理的异常。单击“继续”,应用程序将忽略此错误并尝试继续。未知SQL类型 -0。。
...全文
97 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
pxjhy 2005-10-21
  • 打赏
  • 举报
回复
如果还不行的话。
建议你先在做一个test,test中设一个form上,用选控件的方法来建da 和 ds,这样子,可以在预览数据的时候来判断自己的联接是否有错误。然后将程序自动生成的代码复制到你的程序中来看有哪个地方不一样。可以帮助确定你的联接是否正确。
只需要不到十分钟的时间。但很有效哦。
我刚才说的“da.Fill(ds,"t_in")可以换成 da.Fill(ds.t_in) 或都da.Fill(ds)可以。”是测试过的。如果其他地方没有问题,这句肯定没有问题。如果出错,请在其他地方查找。

pxjhy 2005-10-21
  • 打赏
  • 举报
回复
一、确不需要 cmd.ExecuteNonQuery()
二、da.Fill(ds,"t_in")可以换成 da.Fill(ds.t_in) 或都da.Fill(ds)都可以。
你再试试。
pxjhy 2005-10-21
  • 打赏
  • 举报
回复
唉。我只能告诉你。按照提示慢慢调吧。

你到底在哪一步不通???
myderek 2005-10-21
  • 打赏
  • 举报
回复
to pxjhy 我就是选择控件方式的
ft1612796 2005-10-21
  • 打赏
  • 举报
回复
cmd.ExecuteNonQuery()去掉就行了
加上就累赘了
UserInfo 2005-10-21
  • 打赏
  • 举报
回复
支持 "心中有片蓝天".
pxjhy 2005-10-21
  • 打赏
  • 举报
回复
服务器资源管理器也是出现了“配置数据适配器时发生了错误”!的话。

你要考虑到数据库是否存在,数据库名是否正确,选的数据引擎是否正确,用户名是否正确,密码是否正确等一大堆东西。
我还是建议你选择控件的方式,在向导的提示下一步一步地先把数据库调通。如何数据库不通,你将什么也无法开展。
vickyyu 2005-10-21
  • 打赏
  • 举报
回复
mysql数据库连接方法:
1.安装Microsoft ODBC.net。
2.安装MySQL的ODBC驱动程序。
2.解决方案管理中添加引用Microsoft.Data.Odbc.dll(1.0.3300)
3.代码中增加引用
using Microsoft.Data.Odbc;
4.编写代码
string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +
"SERVER=localhost;" +
"DATABASE=samp_db;" +
"UID=root;" +
"PASSWORD=;" +
"OPTION=3";
//Connect to MySQL using Connector/ODBC
OdbcConnection MyConnection = new OdbcConnection(MyConString);
MyConnection.Open();
Console.WriteLine("\n !!! success, connected successfully !!!\n");
MyConnection.Close();
myderek 2005-10-21
  • 打赏
  • 举报
回复
首先,我的变量都是声明过的。我用的是mysql数据库,在da.fill处出错,而且执行的SQL语句都是对的,奇怪了~
Alisa 2005-10-21
  • 打赏
  • 举报
回复
Dim cnn As New SqlClient.SqlConnection
cnn.ConnectionString = ("Server=MYGSSCB;Database=KINGDEER_CC;USER ID=SA;PASSWORD=WANGLU")
Dim cmd As New SqlClient.SqlCommand
Dim sqlstr As String = "select copercode,copername from sys_operator order by copercode"
Dim adp As New SqlClient.SqlDataAdapter
Dim dst As New Data.DataSet
cmd.Connection = cnn
cmd.CommandText = sqlstr
adp.SelectCommand = cmd
adp.Fill(dst)
Me.DataGrid1.DataSource = dst.Tables(0)


只要把数据源改下就好了
myderek 2005-10-21
  • 打赏
  • 举报
回复
我用的mysql5.0.13的,利用服务器资源管理器也是出现了“配置数据适配器时发生了错误”!看来.net对mysql真的支持不好啊~有没有方法解决呢?能连接服务器,就是数据适配器错误,高手帮个忙~~~谢谢!!
pxjhy 2005-10-20
  • 打赏
  • 举报
回复
你定义了DS了吗?
好象没有没有看到
dim DS as new dataset

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧