小编use*_*146的帖子

如何从QString获取const char*

我从一个带有UTF8编码的XML文件中读取了一个字符串.我将此值存储在一个QString对象中,并将其与其他一些信息连接起来.我可以在QtCreator调试器中看到它QString保存了所需的值.

我需要将此字符串传递给另一个带const char *参数的库.我如何获得const char *请?我试过toLocal8bit(),toLatin1(),toUtf8()都没有运气.好像我错过了什么......

c++ qstring qt qt-creator qtcore

5
推荐指数
1
解决办法
4105
查看次数

在C++中定义错误代码常量的位置

我从C++ DLL导出了一个方法,然后从VB.net表单应用程序中调用它.C++方法当前没有返回值(void)但我想改进它并返回一个表示一系列错误代码的int.(如果一切顺利,我计划返回零.)

定义这些错误代码的最佳位置在哪里以及如何?

我应该在CPP文件的顶部执行以下操作:

#define ERR_NEGATIVE_CELL_SIZE 1
#define ERR_INVALID_FILE_PATH 2
etc
Run Code Online (Sandbox Code Playgroud)

VB.net应用程序还将定义这些相同的代码,然后根据代码向用户显示UI消息.

显然我宁愿在DLL中抛出异常并在VB.net中捕获它(以及相关的异常消息),但这似乎不可能使用extern"C"__declspec(dllexport)方法.

很高兴听到其他设计模式.我还计划通过C++控制台可执行文件公开DLL方法,因此将错误消息一次存储在DLL中并将它们提供给控制台和UI应用程序是理想的选择.

c++ qt error-code dllexport

1
推荐指数
2
解决办法
718
查看次数

基于具有 NULL 值的 UNIQUE 约束的 UPSERT

我有一个 Postgres 表,对多个列有唯一约束,其中一列可以为 NULL。我只希望每个组合都允许该列中的一条记录为 NULL。

create table my_table (
   col1 int generated by default as identity primary key,
   col2 int not null,
   col3 real,
   col4 int,
   constraint ux_my_table_unique unique (col2, col3)
);
Run Code Online (Sandbox Code Playgroud)

我有一个 upsert 查询,当它遇到 col2、col3 中具有相同值的记录时,我想更新 col4:

insert into my_table (col2, col3, col4) values (p_col2, p_col3, p_col4)
on conflict (col2, col3) do update set col4=excluded.col4;
Run Code Online (Sandbox Code Playgroud)

但当 col3 为 NULL 时,冲突不会触发。我读过有关使用触发器的内容。请问,引发冲突的最佳解决方案是什么?

sql postgresql null unique upsert

1
推荐指数
2
解决办法
5625
查看次数

标签 统计

c++ ×2

qt ×2

dllexport ×1

error-code ×1

null ×1

postgresql ×1

qstring ×1

qt-creator ×1

qtcore ×1

sql ×1

unique ×1

upsert ×1