我在C#中有一个.NET Wndows应用程序.这是一个使用MySql 5.1数据库社区版的简单windows应用程序.我已经下载了MysqL ODBC驱动程序,并在本地计算机上创建了一个dsn到我的数据库.在我的应用程序中,我可以毫无问题地执行get类型查询,但是当我执行给定的insert语句时(不是我尝试过做任何其他语句),我收到以下错误:
{“ERROR [HY001] [MysqL] [ODBC 5.1驱动程序] [MysqLd-5.0.27-community-nt]内存分配错误”}
我在windows XP机器上运行.我的机器有1 GB的内存.
有人有主意吗?见下面的代码
OdbcConnection MyConn = DBConnection.getDBConnection(); int result = -1; try { MyConn.open(); OdbcCommand myCmd = new OdbcCommand(); myCmd.Connection = MyConn; myCmd.CommandType = CommandType.Text; OdbcParameter username = new OdbcParameter("@Username",u.Username); OdbcParameter password = new OdbcParameter("@Password",u.Password); OdbcParameter firstname = new OdbcParameter("@Firstname",u.Firstname); OdbcParameter Lastname = new OdbcParameter("@Lastname",u.Lastname); OdbcParameter sex = new OdbcParameter("@sex",u.Sex); myCmd.Parameters.Add(username); myCmd.Parameters.Add(password); myCmd.Parameters.Add(firstname); myCmd.Parameters.Add(Lastname); myCmd.Parameters.Add(sex); myCmd.CommandText = MysqLQuerIEs.insertChatUser; result = myCmd.ExecuteNonquery(); } catch (Exception e) { //{"ERROR [HY001] [MysqL][ODBC 5.1 Driver][MysqLd-5.0.27-community-nt]Memory // allocation error"} EXCEPTION ALWAYS THROWN HERE } finally { try { if (MyConn != null) MyConn.Close(); } finally { } }
最佳答案这是因为有些字段接受null,我将它们作为null传递给它们,它们应该作为dbnull.Value传递.对于允许null的所有字段都应检查为null,如果找到null,则应传递dbnull.Value. 总结 以上是内存溢出为你收集整理的插入语句中C#应用程序中的MySql ODBC 5.1驱动程序的内存分配错误全部内容,希望文章能够帮你解决插入语句中C#应用程序中的MySql ODBC 5.1驱动程序的内存分配错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)