我在SQL服务器中有一个表,项目代码和子项目代码在相同的字段中.
结构是这样的
+----+------+-------------+-------+--------+--------+
| id | date | projectcode | debit | credit | budget |
+----+------+-------------+-------+--------+--------+
| 1 | bla | A100 | bla
| 2 | bla | A100.01 |
| 3 | bla | A112 |
| 4 | bla | A112.02
Run Code Online (Sandbox Code Playgroud)
我该怎么做这样的选择
SELECT projectcode
, sum(debit) as debit
, sum(credit) as credit
, sum(budget) as budget
FROM table1
GROUP BY -insert-answer-here-
Run Code Online (Sandbox Code Playgroud)
我希望输出group byA100和A100.01和A100.x以及A112 + A112.x
我该怎么做呢?
我无法控制桌子的结构.
我有一些组件(alpha控件)我可以将它们安装到Delphi或C++ builder它运行良好.但是当我安装Delphi版本的软件包时,我不能在C++ Builder表单中使用组件,而当我安装C++ Builder软件包时,我无法将组件放到Delphi表单中.
我想创建一个新的C++构建器项目并添加一些Delphi表单然后我必须通过C++构建器表单和Delphi表单同时使用这些组件.
某些组件可在VisionLab组件等两种环境中使用.VisionLab附带一个安装程序软件,可以在C++和Delphi中安装VisionLab,但我必须从源代码安装Alpha控件.
最后,我使用RAD studio XE Architect.Alpha控制版本7.26.
我有一个用Delphi 7编写的应用程序,它使用在BCB 5中编写的c ++ dll.
我想从Delphi IDE调试这个dll这可能吗?
如果有可能调试的步骤是什么?
作为附加信息,我有dll的完整源代码.
我正在运行MySQL的5.5.11版本,查询INFORMATION_SCHEMA.key_column_usage表时的性能非常糟糕.
我有一个简单的选择请求:
SELECT REFERENCED_TABLE_NAME
, TABLE_NAME AS TableName
, COLUMN_NAME AS ColumnName
, CONSTRAINT_SCHEMA AS Db
FROM INFORMATION_SCHEMA.key_column_usage
Run Code Online (Sandbox Code Playgroud)
平均需要8秒才能返回400行.这是一个知道问题吗?如果是这样,有没有办法提高性能(补丁可能?).
使用具有Case Insensitive排序规则的MySQL DB假设Rails 3
发生了什么:
Rails允许您使用"唯一性"验证器验证模型的属性.但根据Rails文档,默认比较是CASE SENSITIVE.
这意味着在验证时它会执行如下SQL:
SELECT 1 FROM `Users` WHERE (`Users`.`email` = BINARY 'FOO@email.com') LIMIT 1
Run Code Online (Sandbox Code Playgroud)
对于拥有CI Collation数据库的我来说,这是完全错误的.它会认为'FOO@email.com'有效,即使在Users表中已有另一个用户'foo@email.com'的用户也是如此.换句话说,这意味着,如果应用程序的用户尝试使用电子邮件"FOO@email.com"创建新用户,则对于Rails,这将完全是VALID(默认情况下),并且INSERT将被发送到db.如果你没有碰巧在电子邮件上有唯一的索引,那么你很兴奋 - 插入行将没有问题.如果您碰巧拥有唯一索引,则会抛出异常.
好.Rails说:由于您的数据库具有不区分大小写的排序规则,因此请执行不区分大小写的唯一性验证.这是怎么做到的?它告诉您可以通过在特定属性验证器上设置":case_sensitive => false"来覆盖默认唯一性比较灵敏度.在验证时,它会创建以下SQL:
SELECT 1 FROM `Users` WHERE (LOWER(`Users`.`email`) = LOWER('FOO@email.com') LIMIT 1
Run Code Online (Sandbox Code Playgroud)
这是数据库表上的DISASTER您设计为在电子邮件字段上具有唯一索引的用户,因为它不使用索引,所以执行全表扫描.
我现在看到的是,LOWERSQL函数是由插入UniquenessValidator的ActiveRecord(文件uniqueness.rb,模块ActiveRecord,模块Validations级UniquenessValidator).以下是执行此操作的代码段:
if value.nil? || (options[:case_sensitive] || !column.text?)
sql = "#{sql_attribute} #{operator}"
else
sql = "LOWER(#{sql_attribute}) = LOWER(?)"
end
Run Code Online (Sandbox Code Playgroud)
所以问题转到Rails/ActiveRecord而不是MySQL Adapter.
问题:有没有办法告诉Rails传递关于MySQL适配器的唯一性验证区分大小写的要求,而不是"聪明"地改变查询?或者 为了澄清而重复的问题:是否有另一种方法可以对属性实现唯一性验证(请小心,我只是不谈电子邮件,电子邮件就是一个例子),区分大小写和生成在相应列上使用简单唯一索引的查询?
这两个问题是等价的.我希望现在,我能让自己更清楚,以便获得更准确的答案.
在过去的日子里,我会创建一个TForm,在其上放置一个TMyPanel(覆盖WM_PAINT消息)并将其Handle传递给一堆WGL函数,这些函数找到兼容的pixelformat并创建渲染上下文.就像NeHe教程一样.
现在有FireMonkey应用程序.如何在Win和iOS上运行OpenGL 1.4渲染上下文?
编辑:试图通过传递TForm.Handle(这是NativeUInt)使其工作.好消息 - OpenGL没有错误,但坏消息 - 在TForm上也没有输出..我显然在这里缺少一些关键部分,是否有人在FireMonkey应用程序中有一个可用的OpenGL?
我希望我的按钮上有alphablending图像.
按照指示,我TXPManifest在我的mainform中包含了一个组件.
下面是我加载到项目中的一些图像.

然而,我BitBtn通过ActionList链接到图像列表仍然看起来.
<< - 在运行时看起来像这样,Yikes!
如何在我的Windows 7笔记本电脑上运行Delphi 2007来实际使用ImageList不断取笑我的alpha通道?
为响应@RRUZ,以下是imagelist属性:

(注意没有colordepth财产)
编辑
alpha混合确实与TMS一起使用AdvGlowButton:
因此它可能不是ImageList问题,因为它是BitBtn问题.
更新2
下载并安装PngComponents.把一个TPNGImageList空白表格上瞬间崩溃D2007.(也许在设置/路径/等等中,但我离原始问题太远了,所以我放弃了png追求).
所以这不起作用.
我正在寻找如何使用GDI(而不是GDI +)将32位位图转换为灰度的简单解决方案.是否有可能通过更改位图的托盘或其他东西?
当然Delphi中有很多像这样的例子,但是我正在寻找一个WinAPI函数,它可以在没有迭代的情况下完成这个.
我将我的网站移动到godaddy服务器,但即使有足够的更改,SQL连接也无法正常工作
<?php
$link = mysql_connect('www.xxxxx.com', 'phpadminusername', 'phpadminpasswor');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
/*echo 'Connected successfully';*/
echo "DB CONNECTION :<font color='green'>ACTIVE</font>";
?>
Run Code Online (Sandbox Code Playgroud)
它显示错误
警告:mysql_connect()[function.mysql-connect]:在'读取初始通信数据包'时失去与MySQL服务器的连接,系统错误:第196行/home/content/58/9508458/html/psychiatric/private.php中的111无法连接:在"读取初始通信数据包"时丢失与MySQL服务器的连接,系统错误:111
我目前陷入编译错误,我们公司没有人可以提供帮助,我很遗憾没有找到SO或谷歌的正确搜索模式.
作为代码,我使用2个接口,继承和2个类,继承.以下代码重现错误:
program Project22;
{$APPTYPE CONSOLE}
type
IStorageObject = interface(IInterface)
end;
TObjectStorage<T: IStorageObject> = class(TObject)
end;
IKeyStorageObject<TKey> = interface(IStorageObject)
end;
TKeyObjectStorage<TKey, T: IKeyStorageObject<TKey>> = class(TObjectStorage<T>)
end;
TImplementingClass<TKey> = class(TInterfacedObject, IKeyStorageObject<TKey>)
end;
begin
TKeyObjectStorage<Integer, TImplementingClass<Integer>>.Create;
end.
Run Code Online (Sandbox Code Playgroud)
'TKeyObjectStorage'的编译错误是:
[DCC错误] Project22.dpr(11):E2514类型参数'T'必须支持接口'IStorageObject'
我认为,编译器没有正确识别类'TKeyObjectStorage'的参数T. 它应该是正确的,因为想要的Type'IKeyStorageObject'具有父类型IStorageObject.
为什么这不起作用?我究竟做错了什么?这在德尔福是不可能的吗?
delphi ×6
delphi-xe2 ×2
mysql ×2
sql ×2
bitmap ×1
c++builder ×1
c++builder-5 ×1
components ×1
debugging ×1
delphi-2007 ×1
delphi-7 ×1
dll ×1
firemonkey ×1
gdi ×1
generics ×1
grayscale ×1
group-by ×1
inheritance ×1
opengl ×1
performance ×1
php ×1
sql-server ×1
winapi ×1