我的产品面向葡萄牙观众,逗号为十进制符号.我通常使用CString :: Format将数字输入字符串,并考虑计算机的区域设置.虽然一般来说这是一个很好的方法,但我在格式化SQL查询方面遇到了问题,例如:
CString szInsert;
szInsert.Format("INSERT INTO Vertices (X, Y) VALUES (%f, %f)", pt.X, pt.Y);
Run Code Online (Sandbox Code Playgroud)
当传递值时,我得到这个字符串,这是一个不正确的查询:
INSERT INTO Vertices (X, Y) VALUES (3,56, 4,67)
Run Code Online (Sandbox Code Playgroud)
如何在这些字符串中强制执行点作为小数符号,而不更改区域设置,也不必为每个浮点值创建专用字符串?
注意:这是一般性问题,而不是SQL问题.
如何选择两个连接表的所有字段,而不与公共字段冲突?
假设我有两个表,Products并且Services.我想做一个这样的查询:
SELECT Products.*, Services.*
FROM Products
INNER JOIN Services ON Products.IdService = Services.IdService
Run Code Online (Sandbox Code Playgroud)
这个查询的问题是IdService会出现两次并导致一堆问题.
到目前为止,我发现的替代方案是区分Products除了IdService一个之外的每个字段.但是这样我每次添加新字段时都必须更新查询Products.
有一个更好的方法吗?
例如:" select * from somewhere where x = 1"
我想找到以空格分隔的" where",而不是" where"内的" somewhere".在示例中"where"由空格分隔,但它可以是回车符,制表符等.
注意:我知道正则表达式会让它变得容易(正则表达式相当于" \bwhere\b"),但我不想为我的项目添加一个正则表达式库来执行此操作.
示例代码如下:
bool result;
result = Operation1();
result &= Operation2();
result &= Operation3();
return result;
Run Code Online (Sandbox Code Playgroud)
目的是确保,如果任何函数返回false,则不调用后面的函数.这种语法是正确的还是我需要做的result = result && Operation2();?
我在一个函数中的CImageList中插入了位图,并且需要在另一个函数中稍后更改一些图像.但我无法提取CBitmap.代码如下:
CBitmap GetIndividualBitmap(CImageList oImgList, int nBmpNo)
{
IMAGEINFO imgInfo;
imagelist.GetImageInfo(index,imgInfo);
CBitmap bmp;
bmp.FromHandle(imgInfo.hbmImage);
return bmp;
}
Run Code Online (Sandbox Code Playgroud)
但是我得到的只是黑屏.谁能指出我哪里出错了?
c++ ×3
mfc ×3
formatting ×1
inner-join ×1
locale ×1
operators ×1
sql ×1
sql-server ×1
visual-c++ ×1