利用这个数据库连接已经实现了数据的插入,代码如下
public static void Execute(string strSql)
{
OdbcConnection myConn = Connect();
OdbcCommand myCommand = new OdbcCommand();
myCommand.Connection = myConn;
myCommand.CommandText = strSql;
myCommand.ExecuteNonQuery(); myCommand.Cancel();
myCommand.Dispose(); DisConnect(myConn);
}就是不知为何myAdapter.Fill会出错误,请高人指点!
public static void Execute(string strSql)
{
OdbcConnection myConn = Connect();
OdbcCommand myCommand = new OdbcCommand();
myCommand.Connection = myConn;
myCommand.CommandText = strSql;
myCommand.ExecuteNonQuery(); myCommand.Cancel();
myCommand.Dispose(); DisConnect(myConn);
}就是不知为何myAdapter.Fill会出错误,请高人指点!
OdbcDataAdapter myAdapter = new OdbcDataAdapter(strSql,myConn);
DataSet ds = new DataSet();
myAdapter.SelectCommand = myCommand;
myAdapter.Fill(ds);
OdbcDataAdapter myAdapter = new OdbcDataAdapter(strSql,myConn);
DataSet ds = new DataSet();
myAdapter.Fill(ds);
查MYSQL API 知的 SQL 类型 - 65530。找出这个错误1005:创建表失败
1006:创建数据库失败
1007:数据库已存在,创建数据库失败
1008:数据库不存在,删除数据库失败
1009:不能删除数据库文件导致删除数据库失败
1010:不能删除数据目录导致删除数据库失败
1011:删除数据库文件失败
1012:不能读取系统表中的记录
1020:记录已被其他用户修改
1021:硬盘剩余空间不足,请加大硬盘可用空间
1022:关键字重复,更改记录失败
1023:关闭时发生错误我暂时找不到这个错误的ID
看了一下[ODBC.NET 数据提供程序 Web 发布版本自述文件]得到灵感我的表中有一列是tinyint类型,如果查询列里有它就会出现这个错误。
下面是我得到灵感的内容(虽然说的是ORACLE而不是MYSQL),网上发现有少部分人问但都没有最终得到解决办法,希望能给同样遇到这种问题的人一个帮助。OdbcDataAdapter.Fill
********************
如果符合下列所有条件,在对 Oracle 数据库执行 OdbcDataAdapter.Fill 时将失败:1. 用于填充 OdbcDataAdapter 的 SELECT 语句不包含已定义主键的列。
2. 用于填充 OdbcDataAdapter 的 SELECT 语句包含已定义唯一索引的列。
3. 在将返回的某行中,已定义唯一索引的列包含空值。
4. 使用 FillSchema 或 MissingSchemaAction.AddWithKey 请求架构。
若要解决此问题,请修改 SELECT 语句使其包含一个主键列,或删除将返回的行中的空值。或者,
在检索数据时避免使用 FillSchema 或 AddWithKey。然后,在应用程序中定义架构(包含主键、
索引等)。