我用的数据库是sql sever.
我的"yonghu"表中有一个触发器,作用是每次在表中添加一行时,能自动算出行"content"(char)中数据的长度,并把结果自动放入这个表的另外一列"length"中.
在sql sever中添加一行时触发器的功能可以实现.
但在delphi中用我写的添加程序时发现触发器算出的长度比正确长度多了2.
我输入用的是memo1.我的触发器程序是:
CREATE TRIGGER tr_yonghu ON yonghu
FOR INSERT,update
AS
update yonghu set 长度=len([短信内容]) where 号码 in (select 号码 from inserted)我的添加程序是:
procedure TForm3.Button3Click(Sender: TObject);
begin
if edit1.text='' then
begin
showmessage('请输入号码!');
abort;
end;
adoquery1.Insertrecord([edit1.text,memo1.text]);//memo1中的内容是给"content"的.
begin
showmessage('已成功添加!');
abort;
end;
end;我是菜鸟,又没分了,希望好心人帮帮我,谢谢!
我的"yonghu"表中有一个触发器,作用是每次在表中添加一行时,能自动算出行"content"(char)中数据的长度,并把结果自动放入这个表的另外一列"length"中.
在sql sever中添加一行时触发器的功能可以实现.
但在delphi中用我写的添加程序时发现触发器算出的长度比正确长度多了2.
我输入用的是memo1.我的触发器程序是:
CREATE TRIGGER tr_yonghu ON yonghu
FOR INSERT,update
AS
update yonghu set 长度=len([短信内容]) where 号码 in (select 号码 from inserted)我的添加程序是:
procedure TForm3.Button3Click(Sender: TObject);
begin
if edit1.text='' then
begin
showmessage('请输入号码!');
abort;
end;
adoquery1.Insertrecord([edit1.text,memo1.text]);//memo1中的内容是给"content"的.
begin
showmessage('已成功添加!');
abort;
end;
end;我是菜鸟,又没分了,希望好心人帮帮我,谢谢!
1)在adoquery1.Insertrecord([edit1.text,memo1.text]);
语句之前可以用Showmessage(memo1.text)的方式看看memo1.text到底是什么内容,和你预想的啊有出入
2)你不妨可以在memo1.text加上trim()函数,是否有空格啊