c 插入oracle语句,使用Qt(C ++)execBatch()插入Oracle,然后在数据库中只插入一个字符串“string”(Using Qt(C++) execBatch() insert ...

使用Qt(C ++)execBatch()插入Oracle,然后在数据库中只插入一个字符串“string”(Using Qt(C++) execBatch() insert Oracle, After that, only one character is inserted of “string” in database)

这是C ++中的代码:QSqlQuery * pQuery = m_pDataBaseWrapper-> GetQuery();

pQuery->prepare("insert into jiajia_test values (?, ?)");

QVariantList ints;

ints << 1 << 2 << 3 << 4;

pQuery->addBindValue(ints);

QVariantList names;

names << "Harald" << "Boris" << "Trond" << QVariant(QVariant::String);

pQuery->addBindValue(names);

if (!pQuery->execBatch())

WriteLog("update sucesss");

return true;

插入数据库后:

Gfqn4.png

数据库配置:

AzFux.png

This is the code in C++: QSqlQuery* pQuery = m_pDataBaseWrapper->GetQuery();

pQuery->prepare("insert into jiajia_test values (?, ?)");

QVariantList ints;

ints << 1 << 2 << 3 << 4;

pQuery->addBindValue(ints);

QVariantList names;

names << "Harald" << "Boris" << "Trond" << QVariant(QVariant::String);

pQuery->addBindValue(names);

if (!pQuery->execBatch())

WriteLog("update sucesss");

return true;

after insert the database:

Gfqn4.png

the database config:

AzFux.png

原文:https://stackoverflow.com/questions/41298994

2019-11-19 15:06

满意答案

我发现问题,问题是在qsqlocid4.dll中,我使用qt的oci prj,得到一个新的dll,这个问题解决了。

I find the problem,the question is in qsqlocid4.dll, I use the oci prj of qt,get a new dll, this problem solves.

2016-12-25

相关问答

最新的ODP.NET文档 - 从2012年9月开始的“11.2版本5生产(11.2.0.3.0)” - 在“实体框架相关提示,限制和已知问题”部分中说明了以下已知问题,该部分解决了以下错误:问题代码块中的“if”语句: 如果在LINQ / ESQL查询的WHERE子句中绑定了2,000个或更多字符的字符串,或者长度为4,000个字节或更长的字节数组,则会遇到“ORA-00932:不一致的数据类型”错误。 如果在LINQ / ESQL查询的WHERE子句中使用映射到BLOB,CLOB,NCLOB,L...

我发现问题,问题是在qsqlocid4.dll中,我使用qt的oci prj,得到一个新的dll,这个问题解决了。 I find the problem,the question is in qsqlocid4.dll, I use the oci prj of qt,get a new dll, this problem solves.

在INSERT语句中删除转换为char (与character(1)相同)。 然后一切都应该工作正常。 转换为int也是不必要的。 您可以在psql看到这个简单实验会发生什么: SELECT 'hello'::char;

bpchar

--------

h

(1 row)

转换为character varying可能会有效,但不必显式转换,因为在INSERT期间无论如何都会执行赋值转换 。 正如文件所述: 应用于未加修饰的字符串文字的强制转换表示将类型初始分配给文字常量值,因此它将对任何类型...

这是一个快速而简单的mysql函数,可以解决您的问题: delimiter ||

DROP FUNCTION IF EXISTS concat_whitespace||

CREATE FUNCTION concat_whitespace( x longtext) RETURNS longtext

LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA

BEGIN

DECLARE len INT UNSIGNED;

DECLARE erg LONGTEXT;

S...

你为什么不把它们存放到字符串中? 如何在Oracle 11g中存储无限制的字符? 或者您可以尝试将JPA和JAX-B混合使用,如下所示: import javax.persistence.Entity;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement

@Entity

public class Book {

...

}

和 import javax.persistence.Entity;

import javax....

我很确定你不使用SQL参数: using (SqlCommand myCommand = new SqlCommand(

"INSERT INTO table (text1, text2) VALUES (@text1, @text2)")) {

myCommand.Parameters.AddWithValue("@text1", "mother's love");

myCommand.Parameters.AddWithValue("@text2", "father'...

你忘了添加条件: WHERE SUBSTR(column, -1, 1) = ',' Quassnoi发现了另一个问题 - REPLACE返回null - 你不能在“set”中使用它 全sql: UPDATE table SET column = SUBSTR(column, 0, length(column)-1)

WHERE SUBSTR(column, -1, 1) = ',';

这将确保您仅在具有以“,”结尾的值的行中进行替换。 You forgot to add the condit...

for (int i = 1; i < s.size(); i+=16) { // tried i++ ----> i+=16

ss << '|' << s[i];

}

首先: 但是失败并使"sqdfqdfqwerqwer"成为"s|q" 您直接从给定字符串的第1个位置( i=1 )跳到第16个位置( i+=16 )。当第二次循环运行时,位置在第1+16个位置。 所以ss得到了字符串s[0],s[i],s[i+16],s[2i+16]...这就是为什么你要得到字符串s的精简版本...

看看DateTime.Parse()方法。 编辑:我想您使用SqlCommand ,然后您只需将生成的c# DateTime对象添加到Parameters集合中。 Have a look at the DateTime.Parse() method. Edit: I suppose you use the SqlCommand, then you just add the resulting c# DateTime object to the Parameters collection.

正如@Yu Zhang建议的那样,我读了这个链接的讨论,我发现我应该设置一个环境变量NLS_LANG ,以便与数据库建立UTF-8连接。 所以我在测试设置中添加了以下行: os.environ["NLS_LANG"] = "AMERICAN_AMERICA.AL32UTF8"

As @Yu Zhang suggested, I read discussion in this link and I found out that I should set an environment variabl...

相关文章

Java Character类 使用字符时,我们通常使用的是内置数据类型char。 实例

...

今天遇见一个问题.不知道怎么解决. 如: 自己建立了一个文件read.txt 里面存放这样的 键值

...

大侠看看,菜鸟求教。 这个密码指的是什么密码? 我把可能的秘密输出后有弹出这样的框, 问题补充

...

相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志

...

insert into TBL_Message(id,message,author,postTime)

...

java keytool生成的证书是CRT等格式的,这种格式是2进制编码的,而C++用的证书格式是pe

...

我想遍历一个字符串的每一个字符,以前是用string.toCharArray()来转换成一个char[

...

下面是连接数据库的代码: packageorg.javawo.test; impor

...

中文名: Oracle Database 11g DBA手册 原名: Oracle Databa

...

中文名: Oracle Database 10g DBA手册-管理健壮的、可扩展的、高可用的Oracl

...

最新问答

如果启用了复制处理程序,请确保将其置于其中一个安全角色之后。 我见过人们做的另一件事是在不同的端口上运行admin。 最好在需要auth的页面上使用SSL,这样你就不会发送明确的密码,因此管理和复制将发生在8443上,而常规查询将在8080上发生。 如果您要签署自己的证书,请查看此有用的SO页面: 如何在特定连接上使用不同的证书? I didn't know that /admin was the context for SOLR admin because /admin does not re

第一:在您的样本中,您有: 但是你在询问 //td[@class=‘CarMiniProfile-TableHeader’] (注意TableHeader中的大写'T')。 xpath区分大小写。 第二:通过查询// td [@ class ='CarMiniProfile-TableHeader'] / td,你暗示你在外部td中有一个'td'元素,而它们是兄弟姐妹。 有很多方法可以在这里获得制作和模型

这是你的答案: http://jsfiddle.net/gPsdk/40/ .preloader-container { position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; background: #FFFFFF; z-index: 5; opacity: 1; -webkit-transition: all 500ms ease-out;

问题是,在启用Outlook库引用的情况下, olMailItem是一个保留常量,我认为当您将Dim olMailItem as Outlook.MailItem ,这不是问题,但是尝试设置变量会导致问题。 以下是完整的解释: 您已将olMailItem声明为对象变量。 在赋值语句的右侧,在将其值设置为对象的实例之前,您将引用此Object 。 这基本上是一个递归错误,因为你有对象试图自己分配自己。 还有另一个潜在的错误,如果之前已经分配了olMailItem ,这个语句会引发另一个错误(可能是

我建议使用wireshark http://www.wireshark.org/通过记录(“捕获”)设备可以看到的网络流量副本来“监听”网络上发生的对话。 当您开始捕获时,数据量似乎过大,但如果您能够发现任何看起来像您的SOAP消息的片段(应该很容易发现),那么您可以通过右键单击并选择来快速过滤到该对话'关注TCP Stream'。 然后,您可以在弹出窗口中查看您编写的SOAP服务与Silverlight客户端之间的整个对话。 如果一切正常,请关闭弹出窗口。 作为一个额外的好处,wireshar

Android默认情况下不提供TextView的合理结果。 您可以使用以下库并实现适当的aligntment。 https://github.com/navabi/JustifiedTextView Android Does not provide Justified aligntment of TextView By default. You can use following library and achieve proper aligntment. https://github.com/

你的代码适合我: class apples { public static void main(String args[]) { System.out.println("Hello World!"); } } 我将它下载到c:\ temp \ apples.java。 以下是我编译和运行的方式: C:\temp>javac -cp . apples.java C:\temp>dir apples Volume in drive C is HP_PAV

12个十六进制数字(带前导0x)表示48位。 那是256 TB的虚拟地址空间。 在AMD64上阅读wiki(我假设你在上面,对吗?)架构http://en.wikipedia.org/wiki/X86-64 12 hex digits (with leading 0x) mean 48 bits. That is 256 TB of virtual address space. Read wiki on AMD64 (I assume that you are on it, right?) ar

这将取决于你想要的。 对象有两种属性:类属性和实例属性。 类属性 类属性对于类的每个实例都是相同的对象。 class MyClass: class_attribute = [] 这里已经为类定义了MyClass.class_attribute ,您可以使用它。 如果您创建MyClass实例,则每个实例都可以访问相同的class_attribute 。 实例属性 instance属性仅在创建实例时可用,并且对于类的每个实例都是唯一的。 您只能在实例上使用它们。 在方法__init__中定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值