access数据库Replace函数未定义问题,求高手回答!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了access数据库Replace函数未定义问题,求高手回答!!相关的知识,希望对你有一定的参考价值。

我现在用access数据库,想用sql计算某列中所含‘A’字符的个数,
select fieldName,(len(filedName)-len(replace(fieldName))) as 数量 from tbName
可是我在access中执行此代码可以通过,但是我在c#中传入此段SQL去出现replace函数未定义错误,急求解!!!

ADO,用的OLEDB的方式连接MDB文件的吧?换ODBC方式try try。追问

能具体说说怎么连吗,我只用过oledb

追答

把你现在的连接代码贴出来,瞅瞅。~~~~其实,你也可以把fieldName检索出来,用程序判断A的个数,不必拘泥于用SQL实现所有功能。这样,以后即使你换数据库了,一样能跑。

追问

我数据库中的记录条数比较的多,如果取出来处理速度太慢,我有odbc连接也试过了,还是同样replace函数未定义,大侠看看还有没有别的办法了

追答

那就只好取出来处理了,不见得慢的~~~~

参考技术A replace
是access数据库的内部函数,在ado或者ado.net通过odbc来访问的时候并不可用。
你可以到access里处理
插入-查询,然后选“设计视图”
然后
视图-sql查询
copy你的sql进去
然后点
查询-运行
就可以了。
你放到你的access里,建一个查询。然后将这句sql复制进去,运行一下。
参考技术B

C语言如何求一个二维数组有几行,还有为啥会提示gets()是一个未定义的标识符?

C语言中求一个二维数组有几行的方法如下:
假设有定义int nums[10][20];
二维数组行数可以用sizeof计算:
rows = sizeof(nums)/sizeof(nums[0]);

第二个问题,为什么gets会提示未定义标识,有两种可能:

一、编译器支持gets库函数,但是你没有包含头文件#include<stdio.h>;

二、编译器本身不支持gets库函数,因为gets函数是一个不安全函数,容易导致数组越界,所以很多编译器都不再有这个库函数了。取而代之的是gets_s或者fgets这类相对安全的函数,可以试试。
参考技术A 缺少头文件,加一句:#include<string.h>
就可以了,gets是输入字符串,puts是输出字符串

以上是关于access数据库Replace函数未定义问题,求高手回答!!的主要内容,如果未能解决你的问题,请参考以下文章

“调用未定义函数 odbc_exec()”错误连接到 Linux PHP 服务器上的 Access 数据库

求助:MYSQL 中的replace函数怎么才能不区分大小写?

从 VB Access 调用 UDF(Sql server)“表达式中的未定义函数 <函数名>”

编译错误子或未定义函数

带有自定义JSON Web服务器的Kendo UI Grid - “未捕获的TypeError:this.replace不是函数”

MS Access 中表达式中的未定义函数“mid”