DELPHI 7 批量修改数据库,如已知字段A中显示的为中文,批量取A字段中中文的拼音存入B字段

DELPHI 7 批量修改数据库,如已知字段A中显示的为中文,批量取A字段中中文的拼音存入B字段,第1张

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, XPMan;

type

TForm1 = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Edit2: TEdit;

function py(x: string): char;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R dfm}

function TForm1py(x: string): char;

begin

case word(x[1]) shl 8 + word(x[2]) of

$B0A1$B0C4: result := 'A';

$B0C5$B2C0: result := 'B';

$B2C1$B4ED: result := 'C';

$B4EE$B6E9: result := 'D';

$B6EA$B7A1: result := 'E';

$B7A2$B8C0: result := 'F';

$B8C1$B9FD: result := 'G';

$B9FE$BBF6: result := 'H';

$BBF7$BFA5: result := 'J';

$BFA6$C0AB: result := 'K';

$C0AC$C2E7: result := 'L';

$C2E8$C4C2: result := 'M';

$C4C3$C5B5: result := 'N';

$C5B6$C5BD: result := 'O';

$C5BE$C6D9: result := 'P';

$C6DA$C8BA: result := 'Q';

$C8BB$C8F5: result := 'R';

$C8F6$CBF9: result := 'S';

$CBFA$CDD9: result := 'T';

$CDDA$CEF3: result := 'W';

$CEF4$D188: result := 'X';

$D1B9$D4D0: result := 'Y';

$D4D1$D7F9: result := 'Z';

else

result := char(32);

end;

end;

procedure TForm1Button1Click(Sender: TObject);

var

i: integer;

str, s: string;

begin

Edit2Text := '';

str := Trim(Edit1Text);

i := 1;

while i <= length(str) do begin

if Ord(str[i]) > $7F then begin

s := copy(str, i, 2);

Edit2Text := Edit2Text + py(s);

i := i + 2;

end

else begin

s := copy(str, i, 1);

Edit2Text := Edit2Text + s;

i := i + 1;

end;

end;

end;

end

单机版的吧,用ACCESS数据库,装OFFICE的机器上都有这个。

在ACCESS上建两个表,一个表中输入你要自由搭配的景点为,提供的服务和价格。

另一个表中加入时间字段,然后景点,服务,价格。不用输入。

DELPHI里用ADO 控件,连接到你新建的ACCESS数据库

ADO下面的adoconnection控件,点一下放到你新建的APPLICATION的FORM上。 直接在connectstring属性里选择那个包含JET 4什么的驱动,找到你的ACCESS数据库。connected 后双击变成true

然后在DELPHI 里用adotable点一下放到form上。(如果会SQL语句的话用adoqruery)。把属性connection里输入你的dataconnection 控件的名称。tablename属性输入你在access中建立的第一个有数据的表名。属性active 后双击变成TRUE

data access面板下的datasource 点一下放到form上。属性dataset输入你加过来的adotable的名称。

再data control面板下的dbgrid 点一下放form上。属性datasource 输入你加过来的datasource的名称。

双击dbgrid,点第三个图标(add all fields)

你ACCESS里的数据就都出现在了这个表格里面。调整dbgrid的其它属性,比如align 选择left或TOP

同样的方法从加一个ADOTABLE开始,连上另一个表。并显示在DBGRID中。

最后你选择第一个DBGRID的DOUBLECLICK事件或加一个按钮用CLICK事件。用语句把第一个表里你选择到的景点名服务添加到第2个表中,同时把添加的时间输入到第2个表的时间字段中。并显示在DBGRID中。然后再加一个按钮把第2个表中的数据导出来或直接用报表控件打印同来。

说起来很麻烦,做起来很简单。多尝试,好做的。加油!

1、控件 *** 作

一、增加数据:

adoquery1append;

相关数据

adoquery1updateBatch(arall);//数据保存

二、修改数据:

adoquery1edit;

相关数据

adoquery1updateBatch(arall);//数据保存

三、删除数据:

adoquery1delete;

四、取消

adoquery1cancel;

2、SQL语句

插入的sql语句

sql:='insert

into

表名(字段1,字段2,)

values

(值1,值2,)';

更新的sql语句

sql:='update

表名

set

字段1=值1,字段2=值2

where

条件';

删除的sql语句

sql:='delete

表名

where

条件';

用ADOQuery1将命令发送到后台执行

ADOQuery1Close;

ADOQuery1SQLClear;

ADOQuery1SQLAdd(sql);

ADOQuery1ExecSQL;

可以使用dbnavigation控件,将其属性dataSource设置为你的table,最好再加个dbgrid,这样就可以简单地完成一个较完整的数据库功能 *** 作。

dbNavigation控件提供以下功能,你可以设置全部都使用,也可以只选择其中几个功能,提供的功能如下(通常没有特殊需要的话,不需要手动编写代码):

First record 首记录

Prior record 前一条记录

Next record 下一条记录

Last record 尾记录

Insert record 新增记录

Delete record 删除当前记录

Edit record 编辑当前记录

Post edit 保存修改

Cancel edit 取消修改

Refresh data 刷新数据

修改数据不就是将表单中的数据更新到数据库中去吗?

我相信你会, 只是没这个思路罢了。

举例说: 可以在DBGrid控件的OnKeyPress事件中检测, 比如说按一下回车键, 切入到编辑模式(即修改Option属性的Editing为True), 可以修改表单数据, 再次按Enter回车键的时候切入到提交模式, 修改Option属性的Editing为False, 同时循环判断用户修改了哪些数据, 被修改过的数据Update到数据库。

如楼上所说, DBGrid中修改数据不安全, 你也可以生成一个临时表, 加一个提交数据的按钮, 按钮的OnClick事件中将临时表中的数据select into 原表 from 临时表, 最后清空临时表, 保留原表以备恢复数据(当然如果嫌占资源就不保留, 也可以只保留一份, 每次更新都覆盖, 至少给用户一次恢复到提交修改之前的数据的机会)。

这样我就是举个例子说, 给你个思路。

delphi的数据库 *** 作主要就几个方法

insert //新增

delete //删除

edit //修改

post //提交(更新到数据库)

applyupdate //更新到数据库

locate() //查找

在delphi帮助中查下这几个方法的使用就好了

with Update do

close;

UpdateParameters[0]Value:=trim(edit2text);

UpdateParameters[1]Value:=trim(Edit1Text);

Updateexecsql;

Update 裏面的内容

update kc_detail

set jhj=:jhj

where pjbm=:pjbm

DBEDIT组件是一种数据感知控件,用它的好处是在设计期和运行期都可以自然的显示数据,但如果你把它们用来作为数据录入控件,那就不如用edit和combobox一类的数据编辑组件了这里DB是数据库的意思,你所说的"DB类型里面的A类型",我不懂,从来没有看到过这种说法关于数据库的说法有:

1、添加数据;2、修改数据;3、删除数据;4、插入数据;5、查询数据;这些 *** 作一般都需要数据集组件来完成。在DELPHI中常用的数据集组件在三种,ADO,BDE,还的IB,BDE已经被ADO所取代,IB是专门 *** 作因特贝思数据库的,因特贝思这玩意由于全是洋文,国内很少有人用它。还有很多第三方数据库控件。ADO现在来说是一种主流数据库 *** 作控件了。数据库一般来说,便携式(桌面)就用ACCESS,用这个数据库最大的好处就是不需要安装,在任何电脑任何时刻都可以运行数据库 *** 作软件,用D编的 *** 作它的软件,在U盘上都可以运行,但是它数据容量相对来说小一些。容量比较大的数据库就是SQL server了,达到了TB级,一般的企业来说够用了,现在种县市的合作医疗管理系统都是用它来做的。

DELPHI的数据库 *** 作软件,一般来说,由数据库、ADO数据库 *** 作组件、data ACCESS(负责连接数据库 *** 作控件与数据显示组件的控件)、data controls(数据显示控件)构成,四者缺一不可。ado组件通过发送SQL命令来存取、修改、删除数据库中的数据,然后通过data ACCESS控件来返回数据到由data controls控件构成的数据显示界面。

SQL命令又是独立于编程语言而存在的,也就是任何编程语言都可以使用这些命令,来进行数据库 *** 作。SQL命令不多,全部算起来百十来条而已,但用它来 *** 作数据库几乎达到了出神入画的地步。

看你提的问题,目前你的DELPHI编程水平还是入门级,你应该从最基础的知识做起,如果你想做一名数据库管理的程序员,你就应该先熟悉一下上述构成数据库 *** 作软件的四个部件。这些网上都有。

以上就是关于DELPHI 7 批量修改数据库,如已知字段A中显示的为中文,批量取A字段中中文的拼音存入B字段全部的内容,包括:DELPHI 7 批量修改数据库,如已知字段A中显示的为中文,批量取A字段中中文的拼音存入B字段、delphi,编写能修改数据库,然后输入word的程序的编程思维。、delphi数据库的增加,保存,删除等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10154055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存