求救,怎么在SQL数据库"字段"中追加数据,但不覆盖原有数据!

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:02:46
我用的是QUERY控件
怎么实现在SQL数据库字段中追加MEMO内容,但是不覆盖原来这个字段中的数据.

比如: 数据库名:sdu 表名:qclass 字段:his
原有his字段内容是 "good class" 现在讲在控件MEMO1.TEXT的内容" every body"写入此字段 ,
写入后,内容显示"good class every body" 怎样实现呢?前提是加有条件的SQL语句,
我用的数据库控件 QUERY,DATABASE ,DATASOURCE!
试了很多方法都无效.
我用的是DELPHI 和MSSQL的
怎么实现在SQL数据库字段中追加MEMO内容,但是不覆盖原来这个字段中的数据.

比如: 数据库名:sdu 表名:qclass 字段:his
原有his字段内容是 "good class" 现在讲在控件MEMO1.TEXT的内容" every body"写入此字段 ,
写入后,内容显示"good class every body" 怎样实现呢?前提是加有条件的SQL语句,
我用的数据库控件 QUERY,DATABASE ,DATASOURCE!
试了很多方法都无效.

with form1.query1 do
begin
close;
unprepare;
sql.Clear;
sql.Add('update zzyhdata set his=his+'''+memo1.text''' where numble='''+edit1.text+''' ');
prepare;
open;

edit1内输入的是我要查询的条件,MEMO1内是我要往数据字段内加入的内容, 但是这个语句根本无法执行.

如果你是想从前台得到数据进行相加的话呢,当然是先得到数据库里的数据项了(his)例如:
string his = ds.Tables[0].Rows[0]["his"].ToString();
然后进行字符串的相加,就相当的简单了,然后在写带参数的update 语句了.不过这样显然的开销问题就出来了.因为多次的访问数据库开销很大.其他的办法我也关注下.

我晕,数据库控件都是通用控件,显示的与实际字段内容当然都是一样的,能不一样才奇怪呢

还追加呢,你这是把一个字段当成表来用啊,还当记录一样追加呢,sql当然没有这样的结构了,不然你尽可以试

真要造成这样的效果,可以用不带数据联结的非数据库控件text填写要往数据字段内加入的内容,外加一个“加入”按钮就可以对付了,这么弱智的程序不用帮你写把^_^

如果你不想存进去的话 就这样select memo+'every body' from
想存进去的话
用游标遍历数据再添加数据 再更新数据库

sql server
update qclass set his =his+'every body'

mysql
update qclass set his = concat(his,'every body'

select a || b from biao