我正在使用Toplink essentials(JPA)+ GlassFish v3 + NetBean 6.9
我有一个复合主键表:
table (machine)
----------------
|PK machineId |
|PK workId |
| |
|______________|
Run Code Online (Sandbox Code Playgroud)
我为实体本身创建了两个实体类,第二个是PK类.
public class Machine {
@EmbeddedId
protected MachinePK machinePK;
//getter setters of fields..
}
public class MachinePK {
@Column(name = "machineId")
private String machineId;
@Column(name = "workId")
private String workId;
}
Run Code Online (Sandbox Code Playgroud)
现在.. 如何使用JPERE用WHERE编写SELECT子句?
这失败了.
SELECT m FROM Machine m WHERE m.machineId = 10
Run Code Online (Sandbox Code Playgroud)
http://www.mail-archive.com/users@openjpa.apache.org/msg03073.html
根据网页,添加"val"?不,它也失败了.
SELECT m FROM Machine m WHERE m.machineId.val = 10
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,错误是:
Exception Description: Error compiling the …Run Code Online (Sandbox Code Playgroud) 将表单设置为WindowState = wsMaximized有时会使表单最大化但不会:

长期错误:这是我在2003年首次在Borland新闻组中提出的一个问题:
然后在2006年:
然后在2008年再次:
有人在2012年的Embarcadero论坛上提出这个问题:
现在是时候将18岁的bug移植到Stackoverflow了.也许某人终于想出了一个解决方法.
重现的步骤:
我的帖子包含了六种失败模式,但最简单的是:
删除表单上的a Label和Edita:

为以下内容添加OnEnter活动TEdit:
procedure TForm1.Edit1Enter(Sender: TObject);
begin
Label1.Font.Style := Label1.Font.Style + [fsBold];
end;
Run Code Online (Sandbox Code Playgroud)并设置表格:
WindowState到wsMaximizedAutoScroll为假而bazinga,失败了.
2008年帖子的另一组步骤之一:
- 创建一个新的应用程序和一个表单.
- 在设计时将表单设置为最大化(WindowState = wsMaximized).
- 删除窗体上的ListView控件
在OnShow期间,将20个空项添加到列表视图中:
Run Code Online (Sandbox Code Playgroud)procedure TForm1.FormShow(Sender: TObject); var i: Integer; begin for i := 1 to 20 do ListView1.Items.Add; end;在设计时将表单的AutoScroll属性设置为false(AutoScroll = False)
当然,我没有追求的是"在n …
我开始用PHP编写一些应用程序,我对这门语言越来越熟悉了.有人告诉我有关CakePHP和CodeIgniter的信息.我想更好地了解这些如何帮助我,以及是否值得花时间学习框架?
我有以下C#代码:
namespace ISeeOptic.BL
{
public abstract class Process
{
...
protected static void DeleteImages(List<ImagesPath> list)
{
some logic
}
...
}
protected class GetDataBL: Process
{
...
public static void DeleteImages(List<ImagesPath> list)
{
DeleteImages(list);
}
...
}
}
Run Code Online (Sandbox Code Playgroud)
在编译时我得到以下错误:
命名空间中定义的元素不能显式声明为private,protected或protected internal
我是C#的初学者所以也许这个问题可能看起来很幼稚,任何想法导致这个错误的原因是什么?
谢谢你提前.
在Delphi 10 Seattle中,我可以使用以下代码来解决过于严格的可见性限制.
如何访问私有变量?
type
TBase = class(TObject)
private
FMemberVar: integer;
end;
Run Code Online (Sandbox Code Playgroud)
我如何访问普通或虚拟私有方法?
type
TBase2 = class(TObject)
private
procedure UsefullButHidden;
procedure VirtualHidden; virtual;
procedure PreviouslyProtected; override;
end;
Run Code Online (Sandbox Code Playgroud)
type
TBaseHelper = class helper for TBase
function GetMemberVar: integer;
Run Code Online (Sandbox Code Playgroud)
在Delphi 10.1 Berlin中,类助手不再能够访问主题类或记录的私有成员.
是否有其他方式可以访问私人会员?
这是一个后续问题:如何隐藏对象的受保护过程?
(我对整个班助手概念有点模糊)
假设我有一个类:
type
TShy = class(TObject)
strict private
procedure TopSecret;
private
procedure DirtyLaundry;
protected
procedure ResistantToChange;
end;
Run Code Online (Sandbox Code Playgroud)
我知道如果我通过在同一单元中添加一个后代类来获得源代码,我可以访问私有方法.
我有两个问题:
- 如何使用班助手访问strict private会员?
- 我可以在一个单独的单元中使用类助手来访问(严格)私有成员吗?
如何在C#中将30:15的字符串解析为TimeSpan?30:15表示30小时15分钟.
string span = "30:15";
TimeSpan ts = TimeSpan.FromHours(
Convert.ToDouble(span.Split(':')[0])).
Add(TimeSpan.FromMinutes(
Convert.ToDouble((span.Split(':')[1]))));
Run Code Online (Sandbox Code Playgroud)
这似乎并不太优雅.
我需要保护应用程序免受SQL注入.应用程序使用ADO连接到Oracle,并搜索用户名和密码以进行身份验证.
从我读到现在开始,最好的方法是使用参数,而不是将整个SQL分配为字符串.像这样的东西:
query.SQL.Text := 'select * from table_name where name=:Name and id=:ID';
query.Prepare;
query.ParamByName( 'Name' ).AsString := name;
query.ParamByName( 'ID' ).AsInteger := id;
query.Open;
Run Code Online (Sandbox Code Playgroud)
另外,我正在考虑验证来自用户的输入,并删除删除,插入,选择等SQL关键字......任何不同于普通ASCII字母和数字的输入字符都将被删除.
这样可以保证我的安全级别最低?
我不想使用除Delphi 7标准和Jedi之外的任何其他组件.
看来我应该使用tinyint(); 但我不知道如何实施它?
问题是如果我需要在MySQL DB中有一个布尔字段并用PHP修改它的值,那么你的建议是什么
我正在尝试将大量用户插入MySQL数据库,但每次尝试我都会收到错误消息:
#1062 - Duplicate entry '' for key 2
Run Code Online (Sandbox Code Playgroud)
它给了我这个,因为第二列在很多条目上都是空白的,所以在第2列中插入一个空白条目后,它不会让我添加另一个.但是,当我昨天添加大部分列表时,即使我昨天添加的很多条目在第2列中也有一个空白单元格,但我没有得到此错误.这是怎么回事?
这是插入1个条目的sql代码.其余的遵循相同的格式:
INSERT INTO users
(`id`,`title`,`firstname`,`lastname`,`company`,`address`,`city`,`county`
,`postcode`,`phone`,`mobile`,`category`,`email`,`password`,`userlevel`)
VALUES
('','','John','Doe','company','Streeet','city','county'
,'postcode','phone','','category','emial@email.co.uk','','');
Run Code Online (Sandbox Code Playgroud)