标签: delphi-xe3

运行查询并将结果显示在TEdit中

我有一个TComboBox从我的数据库收集的名称列表.旁边是TEdit我打算用于显示与每个人相关联的ID号的目的.

由于firstName和lastName是表中的单独字段,但在TCombobox中一起显示,我编写了一小段将firstName和lastName拆分为两个单独的变量:

 pos := AnsiPos(' ', cbStudents.Text); 
 firstName := Copy(cbStudents.Text, 0, pos-1);
 lastName := Copy(cbStudents.Text, pos+1, Length(cbStudents.Text));
Run Code Online (Sandbox Code Playgroud)

然后我执行SQL代码:

  try
    query.Open;
    query.SQL.Add('Select studentID');
    query.SQL.Add('From student');
    query.SQL.Add('Where firstName = ' + StrToQuote(firstName));
    query.SQL.Add('And lastName = ' + StrToQuote(lastName));
    editID.Text := query
  finally
    query.Free;
  end;
Run Code Online (Sandbox Code Playgroud)

注意:StrToQuote使用双引号("")封装变量firstName和lastName

我收到的错误是:

争论超出范围

我究竟做错了什么?谢谢你先进的帮助.

sql delphi delphi-xe3

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

按名称动态创建表单?

有没有办法只通过名称动态创建表单; 这个概念是这样的.我有一个主窗体,通过一些用户选择,必须创建一些预定义的窗体并停靠在主窗体上的pagecontols上的tabitems上.我知道表单的名称,我知道何时创建其中的每一个,但我想知道是否有更好的方法通过单个过程调用创建这些表单,并且我的代码中没有所有这些信息.

它的Delphi XE3 firemonkey,获胜7.

在此先感谢您的帮助

delphi delphi-xe3 firemonkey-fm2

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

如何在多线程中调用递归函数

我编写了一个函数来递归搜索与表单上的对象相关联的文件,我在一个单独的线程中运行此函数,因此UI线程不是问题.

我如何使用Synchronize,我调用一个具有参数的函数?

递归函数调用Synchronize命令,我有合理的正确吗?

同步模式具有相同的返回所有呼叫?

delphi multithreading synchronization delphi-xe3

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

在TFileStream的构造函数中指定"FILE_SHARE_READ或FILE_SHARE_WRITE"时,Delphi XE3给出了EFOpenError

以下语句在Delphi XE(Windows 7 x64)下正常运行,但在Delphi XE3(Windows 7 x64)下提供了"Exception class EFOpenError with message ...".它看起来像一个bug.如果是这样,有解决方法吗?

      TFileStream.Create(
        'C:\Test.txt'
        , fmOpenRead,
//        FILE_SHARE_READ);
//        FILE_SHARE_WRITE);
        FILE_SHARE_READ or FILE_SHARE_WRITE);
Run Code Online (Sandbox Code Playgroud)

delphi tfilestream delphi-xe3

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

使用时编译错误以其他形式声明公共变量

我之前声明了许多公共变量,但在Delphi-XE3中是第一个.

我声明公共var好,但不能在其他表格上使用它,但我不知道为什么?

我的主要联合代码:

unit uMian;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls;

type
  TForm1 = class(TForm)
    btnLoad: TButton;
    btnShow: TButton;
    btnEaxit: TButton;
    lvStudent: TListView;
    btnAdd: TButton;
    procedure btnEaxitClick(Sender: TObject);
    procedure btnLoadClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnAddClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations } 
  var
    IsOpen : Boolean ;

  public
    { Public declarations }
    var
      myvar : Integer ;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses uAdd;


function …
Run Code Online (Sandbox Code Playgroud)

delphi variables public delphi-xe3

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

在delphi TForm类中仅使用'public'获取错误

TForm1 = class(TForm)
  Button1:TButton;
  Memo1:TMemo;
end;
Run Code Online (Sandbox Code Playgroud)

这是关于delphi表单的正常代码.

TForm1 = class(TForm)
  public
    Button1:TButton;
    Memo1:TMemo;
end;
Run Code Online (Sandbox Code Playgroud)

只需添加一个公共关键字.

得到运行时错误.

我对此非常困惑.

delphi tform delphi-xe3

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

Delphi轻量级数据库组件/引擎

我正在为朋友申请一个应用程序,我想存储一些信息.它不是很大,就像他想要跟踪的DVD收藏.

我正在寻找的是一种存储他的数据的方法.就像一个数据库,但由于它不需要存储太多,我想知道是否有任何组件可以做到这一点.

像创建表等

我一直在环顾四周,但没有找到太多.这有什么想法?

提前致谢.

delphi data-storage delphi-xe3

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

如何在Delphi中读取XML文件?

这是我想要做的事情.我的程序运行正常:

XMLText =  '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' +
'<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' +
  '<title>Harry Potter</title>' +
  '<author>J. K. Rowling.</author>' +
  '<length>400</length>' +
'</book>';


procedure TForm1.Button1Click(Sender: TObject);
var
XMLDoc: IXMLDOMDocument;
Node, SibNode: IXMLDOMNode;
begin
  Memo1.Clear;
  XMLDoc := CoDOMDocument.Create;
  XMLDoc.loadXML(XMLText);
end;
Run Code Online (Sandbox Code Playgroud)

现在我想从项目所在的同一文件夹导入带有6000本书籍(books.xml)的XML文件,而不是const XMLText.我怎样才能做到这一点?

谢谢!:)

xml delphi delphi-xe3

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

如何在Delphi的SQLite表中插入整数值

我试图SQLite在Delphi的表中插入整数值.
表中emp usergroup_id是整数label,description是字符串数据类型.
我的代码如下:

var
  gid: Integer;
  sdescription,ldescription: String;
begin
  sdescription := RzEdit1.Text;
  ldescription := RzMemo1.Text;
  gid := Integer(RzComboBox1.Items.Objects[RzComboBox1.Items.IndexOf(gname)]);

  try
    SQLConnection1.Connected := true;
    SQLMonitor1.Active := True;
    sSql := 'INSERT INTO emp(usergroup_id, label, description) VALUES (gid,''' + sdescription + ''',''' + ldescription + ''' )';
    SQLConnection1.ExecuteDirect(sSql);

  except
    on E: EDatabaseError do
      ShowMessage('Exception raised with message' + E.Message);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

它给了我一个错误Unknown column gid.
当我用固定的整数值而不是变量尝试这样的东西时,它可以工作:

sSql := 'INSERT INTO emp(usergroup_id, label, description) VALUES …
Run Code Online (Sandbox Code Playgroud)

delphi sqlite delphi-xe3

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

删除问号

删除问号时遇到问题.我不想在我的SQL数据库中使用它们.但我的代码不起作用,我不知道问题出在哪里.

function RemoveQMark(sWork: String): String;
begin
  Delete(sWork, 2, 4);
  Delete(sWork, Length, 2);
  Result := sWork;
end;
Run Code Online (Sandbox Code Playgroud)

我想删除?第一个和最后一个位置.

delphi delphi-xe3

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