跪求Delphi sql 查询、修改等语句(Tquery)【请仔细看补充】

跪求Delphi sql 查询、修改等语句(Tquery)【请仔细看补充】,第1张

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编程水平还是入门级,你应该从最基础的知识做起,如果你想做一名数据库管理的程序员,你就应该先熟悉一下上述构成数据库 *** 作软件的四个部件。这些网上都有。

可用TADOQuery控件,把它和数据库建立连接,当然还要一个TDataSource指向那个TADOQueryDelphi中的SQL语句类似:adoquery1sqlclear;之后可在ADOQuery1中加代码实现更新。adoquery1sqladd("Update yourtable set 姓名="+quotedstr(edit1text));adoquery1close;adoquery1sqladd("where 年纪="+quotedstr(edit2text));adoquery1execsql;这算是一个小实例

应该再添加一个edit3用来输第二次密码的,先判断是否为空

注册的:

if(trim(edit1text)<>'')and(trim(edit2text)<>'')and(trim(edit3text)<>'')then

begin

if(edit2text=edit3text)then

begin

adoquery1sqlclose;

adoquery1sqladd('select

count()

from

denglu

where

yh='''

+

edit1text

+

'''');

adoquery1open;

if(adoquery1recordcount=0)then

begin

adoquery1sqlclose;

adoquery1sqladd('insert

into

denglu

values('''

+

edit1text

+

''','''

+

edit2text

+

'''');

adoquery1execsql;

end

else

begin

showmessage('改用户已存在,请重新输入用户名!');

edit1text:='';

edit2text:='';

edit3text:='';

end;

end

else

begin

showmessage('两次输入的密码不一致,请重新输入!');

edit2text:='';

edit3text:='';

end;

end

改密码:

if(trim(edit2text)<>'')and(trim(edit3text)<>'')then

begin

if(edit2text=edit3text)then

begin

adoquery1sqlclose;

adoquery1sqladd('select

count()

from

denglu

where

yh='''

+

用户名

+

'''');

adoquery1open;

if(adoquery1recordcount<>0)then

begin

adoquery1sqlclose;

adoquery1sqladd('update

denglu

set

mm='''

+

edit1text

+

'''

where

yh='''

+

用户名

+

'''');

adoquery1execsql;

end

else

begin

showmessage('该用户不存在,请重新输入用户名!');

edit1text:='';

edit2text:='';

edit3text:='';

end;

end

else

begin

showmessage('两次输入的密码不一致,请重新输入!');

edit2text:='';

edit3text:='';

end;

end;

与DELPHI无关。数据库的表设计有一条重要规则,凡是可以通过表中数据运算可以得出的结果,都不要在表中另设字段。比如单价乘以数量等于金额,那么,金额这个字段就不就该在表中出现。由此可知,在SQL语句中,是可以进行数据运算的;比如表中如果已经有了出生日期这个字段,我们就不在需要年龄这段字段,但是用户在浏览查询的数据的时候,又需要看到年龄,因为谁也不愿意去根据出生年月来搬手指计算年龄。因此我们必须在显示数据的栅格表中添加一列,显示年龄,这个年龄就要在SQL语句中计算了。先在本代码段的BEGIN前面定义一个变量DQRQ:string;然后再代码段中给它赋值:dqrq:=dateTostr(date);

这样我们就可以写如下SQL语句:

'select

zyid

as

住院号,xm

as

姓名,ryrq

as

入院日期,(#'+dqrq+'#

-

csny)/365

as

年龄,'+

'jgys

as

经管医生,cyrq

as

出院日期,zyfy

as

住院费用,'+

'fycdz

as

费用承担者,jcrq

as

交出日期,scr

as

收取人,'+

'gdrq

as

归档日期,gdr

as

归档人

from

bagdb

'+

'where

jcrq

is

null

and

scr

is

null

and

cyrq

is

not

null

and

ryhs

is

not

null

'+

'ORDER

BY

cyrq

asc';

请注意“(#'+dqrq+'#

-

csny)/365

as

年龄”的写法。

这是ACCESS的写法,SQL

server

2000的写法有些不同。

SQL

server

2000的日期值是不需要#的,它的写法如:

TB_BR_JBRYRQ

BETWEEN

'''+edit15Text+'''

AND

'''+edit16Text+'''

';RYRQ(入院日期)在表中是日期型字段。

因数据类型致所当保存进去了我想了样办法看能能帮

(1)首先我用adoquery1连接数据库表假定字段表第二列

(2)

样写保证之前adoquery1开着

adoquery1edit;

adoquery1Fields[1]AsDateTime:=strtodate(datetostr(TimerDate));

adoquery1Post;

解释:strtodate(datetostr(TimerDate));

格式了把时间格式转真正date只有日期格式Datetimepicker控件本身所带来麻烦用太意

对于SqlServer 数据库,可以如下 *** 作。

在窗体上放一个TDateTimePicker控件,用于日期选择,

然后直接用 Insert into语句就可以

var SaveSql:String;

SaveSql:='Insert into kc_rkdmx(单号,入库日期,制单人) values('

+''''+LEdit_dhText+''''+','

+''''+DateToStr(TDateTimePickerDate)+''''+','//日期数据

+''''+UserName+''''+')';

ADOQ_SaveClose;

ADOQ_SaveSQLClear;

ADOQ_SaveSQLAdd(SaveSql);

ADOQ_SaveExecSQL;

以上就是关于跪求Delphi sql 查询、修改等语句(Tquery)【请仔细看补充】全部的内容,包括:跪求Delphi sql 查询、修改等语句(Tquery)【请仔细看补充】、DELPHI中怎样用SQL语句更新数据库中数据要注意什么有例子的话高分。。。、delphi向数据库中添加语句是否正确等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9537083.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存