FDQuery 怎么能插入NULL参数
[FireDAC][Phys][MSSQL]-335. Parameter [fieldAA] data type is unknown. Hint: specify TFDParam.DataType or assign TFDParam value before Prepare/Execute call
以前BDE可以。
ADO
qrypub->ParamByName("fieldAA")->DataType= ftDateTime;
qrypub->ParamByName("fieldAA")->DataType= ftString;
DataType就是字段类型,设置字段类型就可以插入NULL值了,不赋值执行insert或update语句自动填充为NULL值了。
2016.9.23 record,
fdquery有个属性,FormatOptions.DefaultParamDataType=ftUnknow,默认是ftUnknown,改为ftString或者ftVariant也许就好了,未测试。
2017.5.11 测试用ftString是ok了。
qrypub->FormatOptions->DefaultParamDataType = ftString;
TFieldType : unsigned char { ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval, ftLongWord, ftShortint, ftByte, ftExtended, ftConnection, ftParams, ftStream, ftTimeStampOffset, ftObject, ftSingle };
TADTField
TAggregateField
TArrayField
TAutoIncField
TBCDField
TBinaryField
TBlobField
TBooleanField
TByteField
TBytesField
TCurrencyField
TDataSetField
TDateField
TDateTimeField
TExtendedField
TFloatField
TFMTBCDField
TGraphicField
TGuidField
TIDispatchField
TIntegerField
TInterfaceField
TLargeintField
TLongWordField
TMemoField
TNumericField
TObjectField
TReferenceField
TShortintField
TSingleField
TSmallintField
TSQLTimeStampField
TSQLTimeStampOffsetField
TStringField
TTimeField
TUnsignedAutoIncField
TVarBytesField
TVariantField
TWideMemoField
TWideStringField
TWordField
Param [PName] type changed from [ftString] to [ftFixedChar]. Query must be reprepared. Possible reason: an assignment to a TFDParam.AsXXX property implicitly changed the parameter data type. Hint: use the TFDParam.Value or appropriate TFDParam.AsXXX property.
ftFixedChar 对应的数据库字段类型是char
ftString 对应的数据库字段类型是varchar
所以修改数据库类型即可。
FDQuery 怎么能插入NULL参数的更多相关文章
- MySQL timestamp NOT NULL插入NULL的问题
explicit_defaults_for_timestamp MySQL 5.6版本引入 explicit_defaults_for_timestamp 来控制对timestamp NULL值的处理 ...
- Ibatis insert语句插入null引发的错误
公司使用的orm框架为ibatis,其中默认的insert语句一直都是这样写的: <insert id="insert" parameterClass="activ ...
- 面试题:对NotNull字段插入Null值 有啥现象?
Hi,大家好!我是白日梦. 今天我要跟你分享的话题是:"对NotNull字段插入Null值有啥现象?" 一. 推荐阅读 首发地址:https://mp.weixin.qq.com/ ...
- Atitit.通过null 参数 反射 动态反推方法调用
Atitit.通过null 参数 反射 动态反推方法调用 此时,直接使用java apache的ref工具都失效了.必须要自己实现了. 如果调用接口方法的话,就不能使用apache的ref工具,可 ...
- kettle 数据抽取时会出现 无法插入NULL
kettle 数据抽取时会出现 无法插入NULL,其实是空字符串,原因是kettle默认不区分空字符串和NULL. 解决办法: 修改kettle.properties 文件:
- 值不能为null.参数名: viewInfo,如何解决
有蓝队网络服务器租用客户反映在一台服务器上使用数据库管理工具时弹出了如下错误 :值不能为null.参数名: viewInfo (Microsoft.SqlServer.Management.SqlSt ...
- MYSQL timestamp NOT NULL插入NULL的报错问题
1. 在开发两个数据库数据同步功能的时候,需要在本地搭建一个本地的数据库作为一个本地库,然后用于同步开发库中的数据.在插入的时候出现了一个问题. 问题描述: 我们每张表中都会存在一个create_ti ...
- c# access插入null值
c# 插入access数据库 提示错误: Parameter @DeviceLocation has no default value. 参数@DeviceLocation 的有没有默认值. Stri ...
- javascript数组元素的添加、删除与插入以及参数数组的使用
1.数组元素的添加 push方法在数组的尾部添加元素: var colorArray=new Array(); colorArray.push('red','black','yellow'); //这 ...
随机推荐
- java设计模式-Observer(2)
一.模拟AWT事件处理 回顾一下JDK里面按下一个Button,有件事发生,这个东西怎么写: package com.cy.dp.observer.awt; import java.awt.Butto ...
- MySQL总论
1. MySQL基本概念 1.1. 数据库的概念 数据库,简而言之就是存储数据的仓库,可以按照一定的数据结构存储管理大量的数据及数据与数据之间的关系,它本质上是一种信息管理系统.数据库根据存储采用的 ...
- python动态绑定属性和方法
基于Python 2.7.13测试. Python是动态语言,在类定义了之后,还可以动态地绑定属性和方法. 下面先来看怎么给类的实例动态地绑定属性和方法. >>> class Stu ...
- go语言笔记——切片函数常见操作,增删改查和搜索、排序
7.6.6 搜索及排序切片和数组 标准库提供了 sort 包来实现常见的搜索和排序操作.您可以使用 sort 包中的函数 func Ints(a []int) 来实现对 int 类型的切片排序.例如 ...
- Toast--报错
Toast的makeText()方法报错帖上一代码,用Toast来简单处理回调机制.但是Toast的makeText()方法老报错:import android.content.Context;imp ...
- [UE4]链接多个字符串Make Literal String
- [UE4]条件语句Select
select接收3个参数,输出一个值. 当条件为true时,返回输入到True节点的值. 当条件为false时,返回输入到false节点的值. select的输入和输出参数也可以是整数.float.V ...
- 报错:Column count doesn't match value count at row 1
mysql错误:Column count doesn't match value count at row 1 意思是存储的数据与数据库表的字段类型定义不相匹配. 解决办法:检查段类型是否正确, 是否 ...
- Sep 15th 2018
人在最困难的最孤独的时候,是否都会有过怀疑和产生退缩的念头呢.开始怀疑为什么要坚持,坚持的意义何在.我现在的状态就是一个谋生赚钱的机器吗,远离妻子和孩子,一人孤独的在这座城市,得到的难道能够足以弥补所 ...
- easyUI的combotree的树的懒加载。
var tree=[{ "id":1, "text":"My Documents", "children&quo ...