我有一个TComboBox从我的数据库收集的名称列表.旁边是TEdit我打算用于显示与每个人相关联的ID号的目的.
由于firstName和lastName是表中的单独字段,但在TCombobox中一起显示,我编写了一小段将firstName和lastName拆分为两个单独的变量:
Run Code Online (Sandbox Code Playgroud)pos := AnsiPos(' ', cbStudents.Text); firstName := Copy(cbStudents.Text, 0, pos-1); lastName := Copy(cbStudents.Text, pos+1, Length(cbStudents.Text));
然后我执行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
我收到的错误是:
争论超出范围
我究竟做错了什么?谢谢你先进的帮助.
有没有办法只通过名称动态创建表单; 这个概念是这样的.我有一个主窗体,通过一些用户选择,必须创建一些预定义的窗体并停靠在主窗体上的pagecontols上的tabitems上.我知道表单的名称,我知道何时创建其中的每一个,但我想知道是否有更好的方法通过单个过程调用创建这些表单,并且我的代码中没有所有这些信息.
它的Delphi XE3 firemonkey,获胜7.
在此先感谢您的帮助
我编写了一个函数来递归搜索与表单上的对象相关联的文件,我在一个单独的线程中运行此函数,因此UI线程不是问题.
我如何使用Synchronize,我调用一个具有参数的函数?
递归函数调用Synchronize命令,我有合理的正确吗?
同步模式具有相同的返回所有呼叫?
以下语句在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-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) 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)
只需添加一个公共关键字.
得到运行时错误.
我对此非常困惑.
我正在为朋友申请一个应用程序,我想存储一些信息.它不是很大,就像他想要跟踪的DVD收藏.
我正在寻找的是一种存储他的数据的方法.就像一个数据库,但由于它不需要存储太多,我想知道是否有任何组件可以做到这一点.
像创建表等
我一直在环顾四周,但没有找到太多.这有什么想法?
提前致谢.
这是我想要做的事情.我的程序运行正常:
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.我怎样才能做到这一点?
谢谢!:)
我试图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) 删除问号时遇到问题.我不想在我的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 ×10
delphi-xe3 ×10
data-storage ×1
public ×1
sql ×1
sqlite ×1
tfilestream ×1
tform ×1
variables ×1
xml ×1