我是非常非常新的PHP,我正在尝试修复别人写的代码.我设法做了几个修复,现在搜索工作,但我无法得到"没有找到记录"的消息.
我是一个试图自学的新手,所以任何反馈都表示赞赏.先感谢您.
这是我的代码:
大段引用
<?php $counter = 0;
while ($data_main = mysql_fetch_object($rs_main)) { ?>
<div id="thumbnail_div">
<a href="more_info.php?id=<?php echo $data_main->iuniqid; ?>"><*image here*/<?php echo $data_main->prefix; ?>_<?php echo stripslashes($data_main->iname); ?>" border="0" /></a><br />
<?php if ($data_main->itype != '') {
$sql_type = " select itype from type where id = ". $data_main->itype;
$rs_type = mysql_query($sql_type);
$data_type = mysql_fetch_object($rs_type); ?>
<*image here*<?php echo $data_main->itype; ?>.*extension*" width="10" height="10" alt="<?php echo $data_type->itype; ?>" title="<?php echo $data_type->itype; ?>" />
<?php } ?>
<?php if ($data_main->iotype != '' …Run Code Online (Sandbox Code Playgroud) 我对在 Web 服务中使用 C# RetrieveMultiple 方法检索 CRM 2011 中的记录有疑问。
我需要根据属性值(主键)从实体中检索不同的记录。我可以通过使用下面的代码来实现这一点
QueryExpression query = new QueryExpression("entityname");
query.ColumnSet.AddColumns("primarycolumn", "column1");
query.Distinct = true;
EntityCollection result1 = serviceProxy.RetrieveMultiple(query);
Run Code Online (Sandbox Code Playgroud)
输出:
primarycolumn column1
xyz 1
lmn 2
Run Code Online (Sandbox Code Playgroud)
这会显示不同的记录。但是,如果我向列集中添加更多列,则结果并不明显。这如下面的代码所示
QueryExpression query = new QueryExpression("entityname");
query.ColumnSet.AddColumns("primarycolumn", "column1", "column2");
query.Distinct = true;
EntityCollection result1 = serviceProxy.RetrieveMultiple(query);
Run Code Online (Sandbox Code Playgroud)
输出:
primarycolumn column1 column2
xyz 1 a
xyz 1 b
lmn 2 a
Run Code Online (Sandbox Code Playgroud)
我需要结果仅根据主列而不同。
请帮助我如何实现这一目标。
实际上,代码是用C#编写的。下表显示了我正在查询的表
**Primary
column Column1 Column2 Column3<br/>**
Xyz Value1 Value1 Value1 <br/>
Xyz Value2 Value2 Value2<br/>
Lmn Value1 …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个应用程序来运行后台服务,该服务将始终记录MotionEvents(即使不在应用程序中)并将它们存储在某种日志文件中.然后,在请求时,将重放这些MotionEvent以模拟用户与设备交互.
正如您可能猜到的,这是UI自动化.
我即将开始自己写这个应用程序,但我想确保我没有重新发明轮子
我可以通过以下方式在 erl shell 上定义记录:
129> rd(person, {name=""}).
person
130> #person {}.
#person{name = []}
131> #person {name="dummy"}.
#person{name = "dummy"}
Run Code Online (Sandbox Code Playgroud)
但我不确定如何在模块中定义和使用记录。当我创建 my_module.erl 时:
-module(my_module).
-record(person, {name, phone, address}).
#person {name="dummy"}.
Run Code Online (Sandbox Code Playgroud)
...并尝试编译,我得到:
132> c(my_module).
my_module.erl:5: syntax error before: '#'
my_module.erl:3: Warning: record person is unused
error
Run Code Online (Sandbox Code Playgroud)
文档说 rd 在 shell 中使用,因为记录在编译时可用,而不是运行时可用。所以我假设我不需要在模块定义中使用 rd 。
我有以下代码从具有值等于Accountnumber的字段的记录列表中返回记录.
lookup(AccountNumber, [#account{no=AccountNumber} = Rec | _]) ->
Rec;
lookup(AccountNumber, [_| T]) ->
lookup(AccountNumber, T);
lookup(AccountNumber, []) ->
not_found.
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,但当我尝试使用以下代码将其转换为过滤器时:
lookup(AccountNumber, DBRef) ->
lists:filter(fun(#account{no=AccountNumber} = Rec) -> Rec end, DBRef).
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
** exception error: no case clause matching #account{no = 2,balance = 0,pin = undefined,name = "Ali",
transactions = []}
in function lists:'-filter/2-lc$^0/1-0-'/2 (lists.erl, line 1271)
Run Code Online (Sandbox Code Playgroud)
错误的原因是什么?
我有一个包含许多记录的数组。像这样设置:
Tcustomer= record
Name: string[40];
Address: string[100];
phone: string[15];
email:string[50];
end;
Run Code Online (Sandbox Code Playgroud)
现在,假设我想在这个数组中搜索具有特定姓名和地址的人。我该怎么办?所以基本上搜索不仅仅是1个元素。(我可以专门搜索 1 个属性,但不能过滤超过 1 个)
附件是我的表单如何设置的图片,这将更详细地显示我所指的内容:

在 XE8 中处理我的项目时,我需要保存和读取自定义项目文件,这些文件存储不同类型的变量和记录。最初,我解决这个问题的方法似乎有效,但在实际项目中却被证明是错误的。
我创建文件、存储“类别”记录的方法:
var
SavingStream: TFileStream;
i,j: Integer;
begin
SavingStream:=TFileStream.Create('SAVE.test', fmCreate or fmOpenWrite or fmShareDenyWrite);
SavingStream.Position:=0;
i:=Length(Categories); **// storing size of an array in a temp variable**
SavingStream.WriteBuffer(i,SizeOf(i)); **// for some reason i couldn't save it directly**
for i:=0 to Length(Categories)-1 do
begin
**{ String }**
SavingStream.WriteBuffer(Categories[i].Name,SizeOf(Categories[i].Name));
**{ Integer }**
SavingStream.WriteBuffer(Categories[i].ID,SizeOf(Categories[i].ID));
**{ Boolean }**
SavingStream.WriteBuffer(Categories[i].Default,SizeOf(Categories[i].Default))
**{ Same routine for dynamic array }**
j:=Length(Categories[i].ChildrenType);
SavingStream.WriteBuffer(j,SizeOf(j));
if j>=1 then for j:=0 to Length(Categories[i].ChildrenType)-1 do SavingStream.WriteBuffer(Categories[i].ChildrenType[j],SizeOf(Categories[i].ChildrenType[j]));
end;
end;
Run Code Online (Sandbox Code Playgroud)
然后阅读它:
var
SavingStream: TFileStream; …Run Code Online (Sandbox Code Playgroud) 我创建了一个动态数组记录,使用此actionexecute方法进行扩展:
procedure TForm1.AddTeamActionExecute(Sender: TObject);
Var
c : integer;
begin
c := length(PrjRecArray);
PrjRecArray[c].tmpLoadPrjRec (true, 'Team', 'Big Building', '123 Main Street' ,'',
'Somewhere', 'Ohio','43210', '555-1234', 'Bob', 'Big Cheese', '555-0123', 'bob@gmail.com');
PrjSg.Cells[0,PrjSg.RowCount-1] := (PrjRecArray[c].Team);
PrjSg.Cells[1,PrjSg.rowcount-1] := (PrjRecArray[c].Name);
PrjSg.Cells[2,PrjSg.rowcount-1] := (PrjRecArray[c].addr1);
PrjSg.Cells[3,PrjSg.rowcount-1] := (PrjRecArray[c].addr2);
PrjSg.Cells[4,PrjSg.rowcount-1] := (PrjRecArray[c].city);
PrjSg.Cells[5,PrjSg.rowcount-1] := (PrjRecArray[c].state);
PrjSg.Cells[6,PrjSg.rowcount-1] := (PrjRecArray[c].zip);
PrjSg.Cells[7,PrjSg.rowcount-1] := (PrjRecArray[c].phone);
PrjSg.Cells[8,PrjSg.rowcount-1] := (PrjRecArray[c].contact);
PrjSg.Cells[9,PrjSg.rowcount-1] := (PrjRecArray[c].title);
PrjSg.Cells[10,PrjSg.rowcount-1] := (PrjRecArray[c].conPhone);
PrjSg.Cells[11,PrjSg.rowcount-1] := (PrjRecArray[c].email);
PrjSg.RowCount := PrjSg.RowCount + 1;
Revised(true);
showmessage ('PrSG Rows = ' + inttostr (PrjSg.RowCount));
c …Run Code Online (Sandbox Code Playgroud) 我正在尝试查看如何创建指向简单记录的指针。
我在发布之前搜索过类似的主题,但它很混乱。
我创建了 A & B 其中是实际的记录。然后我有一个变量 C,我想它只是一个“指向这条记录的指针”。我不希望 C 存储它自己的值,而只是一个指向 A 或 B 的指针。
但是每当 C 被读取/写入时,它实际上是被写入 A 或 B,无论 C 指向哪个。
换句话说,它就像一个指向对象的指针,但在我的情况下我不需要对象。
使用 Delphi 10.3 和 10.4(如果有任何区别),请突出显示。
下面的代码在第一个 ShowMessage 上导致访问冲突。
procedure TForm1.Button2Click(Sender: TObject);
type
TMyRecord = record
Field1 : integer;
end;
var
A : TMyRecord;
B : TMyRecord;
C : ^TMyRecord; // how to declare this as a pointer?
begin
A.Field1 := 1;
B.Field1 := 2;
C^ := A; // psuedo code to point to A
A.Field1 := 3; …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来获取记录构造函数“字段”上定义的属性。
// See https://aka.ms/new-console-template for more information
using System.ComponentModel.DataAnnotations;
var property = typeof(TestRecord)
.GetProperties()
.First( x => x.Name == nameof(TestRecord.FirstName) );
var attr0 = property.Attributes; // NONE
var attr1 = property.GetCustomAttributes( typeof(DisplayAttribute), true ); // empty
var property1 = typeof(TestRecord)
.GetProperties()
.First( x => x.Name == nameof(TestRecord.LastName) );
var attr2 = property1.Attributes; // NONE
var attr3 = property1.GetCustomAttributes( typeof(DisplayAttribute), true ); // Works
public sealed record TestRecord( [Display] String FirstName, [property: Display] String LastName );
Run Code Online (Sandbox Code Playgroud)
我能够获取针对LastName该属性的属性(使用property:)。 …
我有两个场景如下.
情况1:
if( folderProcessChecklistBean.getFolderProcessChecklistRecord()
.getChecklistCode() != null)
Run Code Online (Sandbox Code Playgroud)
案例2:
if(!folderProcessChecklistBean.getFolderProcessChecklistRecord()
.getChecklistCode().equals(null))
Run Code Online (Sandbox Code Playgroud)
谁能告诉我两种方法是否相同?
我有一个函数返回record结果.我需要将它传递给另一种方法Pointer.它适用于32位模式,但Invalid type cast在64位模式下会引发错误.我该如何解决?
我试图寻找已知的解决方案,但发现只有record到TObject转换方法:无效的类型转换:转换记录TObject的64位平台
aTList.Add(Pointer(aRecord)); // aRecord is a result of the function
Run Code Online (Sandbox Code Playgroud) 使用FastMM4时,函数DynArraySetLength中的system.pas存在内存泄漏.我正在使用一个列表,其中每个元素有5条记录.这些记录依次列出数百万的订单.因此,小内存泄漏积累为巨大的块.
在释放元素的同时,我故意使用SetLength(x,0)和x:= nil.但是,在system.pas的DynArraySetLength中仍然存在内存泄漏.有人可以建议我如何使用有效的方式释放阵列,并克服这个内存泄漏.
提前致谢
代码:此过程的SetLength发生内存泄漏
procedure TElem.Assign(Value: TElem);
begin
SetLength(Self.aXY.points, Length(Value.aXY.points)); //MEMORY LEAK
Move(Value.aXY.points[0], Self.aXY.points[0],
Length(Value.aXY.points) * SizeOf(coordinate));
end;
Run Code Online (Sandbox Code Playgroud)
在释放我正在使用此过程:
procedure TElem.FreeElem;
begin
SetLength(Self.aXY.points,0);
Self.aXY.points:=nil;
end;
Run Code Online (Sandbox Code Playgroud)