.NET 读取Mysql遇到的错误,急急急!!!!

血战31天 2007-09-27 05:53:36
源代码:
Dim adap As New Odbc.OdbcDataAdapter
adap.SelectCommand = comd
adap.Fill(MyDataSet, "dddd") '这一行有错误

运行环境:
vs.net 2005
ODBC Mysql 3.51 连接 Mysql 4.0
Winxp Sp2

错误信息:

System.ArgumentException: 未知 SQL 类型 - 0。
在 System.Data.Odbc.TypeMap.FromSqlType(SQL_TYPE sqltype)
在 System.Data.Odbc.OdbcDataReader.GetSqlType(Int32 i)
在 System.Data.Odbc.OdbcDataReader.GetFieldType(Int32 i)
在 System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetFieldType(Int32 ordinal)
在 System.Data.ProviderBase.SchemaMapping.SetupSchemaWithoutKeyInfo(MissingMappingAction mappingAction, MissingSchemaAction schemaAction, Boolean gettingData, DataColumn parentChapterColumn, Object chapterValue)
在 System.Data.ProviderBase.SchemaMapping..ctor(DataAdapter adapter, DataSet dataset, DataTable datatable, DataReaderContainer dataReader, Boolean keyInfo, SchemaType schemaType, String sourceTableName, Boolean gettingData, DataColumn parentChapterColumn, Object parentChapterValue)
在 System.Data.Common.DataAdapter.FillMapping(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 schemaCount, DataColumn parentChapterColumn, Object parentChapterValue)
在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
在 System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)


我的问题:
.net2.0中能不能使用mysql?
将mysql中的数据读到dataset中时,字段类型有没有需要注意的?


...全文
182 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
血战31天 2007-10-23
  • 打赏
  • 举报
回复
第一次,也不知道怎么结帖给分,真是,
血战31天 2007-10-23
  • 打赏
  • 举报
回复
确实是连接的问题,用.net的connector就没有问题。
LL223851 2007-10-09
  • 打赏
  • 举报
回复
修改my.ini文件
default-character-set=utf8
到这位老兄的资源下载mysql for .net2.0的ODBC驱动
http://download.csdn.net/source/214322
安装完毕之后就可以在VS2005的服务器资源管理器中添加数据连接
在数据源选项中点击[更改]选择其他,你会在[数据提供程序]中看到.NET Framework Data Provider for MySQL
server name填写你的mysql服务器的ip地址,本机填写localhost
user name 和password 和database name照实填写,选择save my password
然后进入[高级]选项
将advanced中的character set 设置为utf8 点击[确定]至此所有设置完毕
测试连接----提示连接正常
生成的连接字符串如下
server=localhost;user id=root;Password=root;persist security info=True;database=webdata;character set=utf8//密码是隐藏的,其实字符串中不会出现密码,但是在asp.net中会在web配置文件中出现密码

连接字符串中的character set一定要和数据库的character set一致!

使用 MySql.Data.MySqlClient这个名空间来连接 MySQL 服务器。
在C#中,可以使用using语句来引入MySQL数据接口:

using MySql.Data.MySqlClient;

指定了名空间后,我们就可以和MySQL数据库进行数据交互了。
MySql.Data.MySqlClient这个名空间提供了许多用于处理MySQL数据的类。
下面是这些类的一个样本:

  * MySqlConnection: 管理和 MySQL 服务器/数据库的连接;

  * MySqlDataAdapter: 一套用于填充DataSet对象和更新MySQL数据库的命令和连接的集合;

  * MySqlDataReader: 让你能够从一个 MySQL 数据库读取数据。它是一个单向的数据流;

  * MySqlCommand: 提供向数据库服务器发送指令的功能;

  * MySqlException: 当发生问题时提供例外处理。

  ASP.NET和MySQL的组合
  用 MySqlCommand 对象向MySQL服务器发送 SHOW DATABASES 命令和直接在 MySQL 管理工具中输入这个命令得结果是一样的。唯一的区别是,我们在代码中必须使用另一个对象来获取结果集。MySqlDataReader 对象在获取结果时被实例化(通过 MySqlCommand 类的 ExecuteReader 方法)。MySqlDataReader 对象的 GetString 方法被用于通过ASP.NET的标签控制来显示结果集中的数据。GetString 方法的指针0指定了显示结果集的当前行(在while循环中)的第一列数据。
=============================================================================================================
yqh2648 2007-09-29
  • 打赏
  • 举报
回复
请到www.mysql.com下载个MySQL.Visualstudio-1.0.2与mysql-connector-net 5.1.3的软件包安装即可,
其它的开发与MSQL没有区别!同时你也可以在VS2005中的数据管理中,同MSQL2005一样,可视化处理Mysql数据了!
isoftk 2007-09-28
  • 打赏
  • 举报
回复
最好去搞个MySQL的.net组件,字段类型没什么要注意的

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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