Access数据库 INSERT INTO 失败

一次操作Access数据库,插入一条数据,总是失败,如下:

通过赋值,一个字段一个字段的排查,最终确定是UserAge字段处有问题。

最初,UserAge字段是 %d 类型的,赋值20,可成功插入数据库,赋值199插入失败,仔细查看sql语句和数据库中这个字段设计的类型等,均未发现问题。

后来,怀疑数据库对数值字段的支持不好,UserAge字段改用字符串(%s),但是测试发现效果跟%d是一样的,赋值"20",可成功插入数据库,赋值"199"插入失败。发现20比199少一个字节就能成功,所以怀疑是sprintf格式化后的字符串超过了128个字节,将数组长度128改为512,向Access数据库插入199成功,又插入其他值也成功。

最终结论:  数组长度太短,即,sprintf格式化后的字符串超过了128个字节,导致执行SQL语句失败。

时间: 2024-10-21 19:54:47

Access数据库 INSERT INTO 失败的相关文章

php连接Access数据库错误及解决方法

<?php $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.mdb"); $connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC); $issuetime=date("Y-m-d H:i:s"); $sql="insert into test

VC++对Access数据库的操作(查询、插入、更新、删除等)

Microsoft Office Access是由微软发布的关系数据库管理系统.Access数据库常应用于小型软件系统中,比如:生产管理.销售管理.库存管理等各类企业管理软件,其最大的优点是:简单易学.使用灵活. 下面我们结合实例来详细说明,在VC++ MFC中,如何使用Access数据库文件进行数据的存储,如何实现对数据库中数据的查询.插入.更新和删除等操作. (实例可在我的CSDN资源中下载:http://download.csdn.net/detail/margin1988/8235865

VC++中使用ADO方式操作ACCESS数据库

ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API.DAO.RDO都要容易使用,并不失灵活性.本文详细地介绍在Visual C++开发环境下如何使用ADO来进行数据库应用程序开发,并给出示例代码.为了使读者朋友都能测试本例提供的代码,我们采用Access数据库,您可以直接在我们提供的示例代码中找到

Access提示Insert Into 语法错误解决办法总结

1.关键字:如果你的数据库的表的设计包含了Access包含的关键字,则在插入的时候会出现“Insert Into 语法错误” 例如: string sqlText = String.Format("Insert into TestTable(Id,Order) values ({0},{1})",123,0); 这行上面这条语句是失败的,原因是TestTable表中有一个关键字"Order",解决办法: (1).将语句中的关键字用[order]处理就可以了.如: s

C#---数据库访问通用类、Access数据库操作类、mysql类 .[转]

原文链接 //C# 数据库访问通用类 (ADO.NET)using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration; namespace XXX{    /// <summary>    /// 针对SQL Server数据库操作的通用类           /// </sum

使用JDBC-ODBC连接Access数据库

使用JDBC-ODBC桥连接ACCESS数据库有两种方式:(1)配置ODBC数据源:(2)不配置ODBC数据源. 如果数据库文件为 person.mdb,路径为:G:\ProgramFiles\MyEclipse 6.5\workspace\JdbcOdbcTest\src\ person.mdb.配置的数据源名称为:person. (1)  配置ODBC数据源: 打开ODBC数据源管理器,在"系统DSN(或者用户DSN)"选项卡里面点击"添加"按钮. 在"

ASP.NET中防止Access数据库下载

如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.这里我们给出几种在ASP.NET下防止Access数据库被下载的方法. 我们这里假设Access数据库名字为 test.mdb. 1.把数据库放在WEB目录外 如你的网站目录是D:\www,你可以把数据库放到D:\data 这个文件夹里,然后修改网站程序中的数据库连接字串地址部分为:"D:\data\test.mdb" ,这样数据库可以正常调用,但是无法下载的,因为它不在网站目录里. 假设在web.config中配置

ADO访问Access数据库错误解决

最近在用ADO访问Access数据库的时候出现了一个奇怪的错误,觉得有必要记录下来,和大家分享一下. 环境 win7 x86系统: VS2012编译器: Office2010; Access2000~Access2003连接串建立数据库连接. 关键数据库操作代码 BOOL CAccessDatabase::Query(const CString strSQLString, UINT nFieldNumber, vector<vector<_variant_t> >& vec

ADO访问Access数据库错误解决心得随笔

最近在用ADO访问Access数据库的时候出现了一个奇怪的错误,觉得有必要记录下来,和大家分享一下. 环境 win7 x86系统: VS2012编译器: Office2010: Access2000~Access2003连接串建立数据库连接. 关键数据库操作代码 BOOL CAccessDatabase::Query(const CString strSQLString, UINT nFieldNumber, vector<vector<_variant_t> >& vec