加了不行,我现在的出错信息改变了我的原代码如下
with dm2.query3 do
begin
close;
sql.clear;
sql.add('select * from 用户表1');
sql.add('where 用户名=:usename');
sql.add('and 密码=
assword');
parambyname('usename').Asstring:=edit1.text;
parambyname('password').AsString:=edit2.Text;
prepare;
open;
end;
if dm2.query3.recordcount>0 then
begin
user_type:=dm2.query3.fieldbyname('用户类型').asstring;
name:=dm2.query3.fieldbyname('用户名').asstring;
with dm2.StoredProc1 do
begin
Params[1].asstring:=name;
Params[2].asstring:=user_type;
Params[3].asstring:='111';
prepare;
execproc;
end;
showmessage('登录成功!');
end
else showmessage('登录失败,请重新登录!');
end;
end.
我用分步运行得知,运行到execproc时系统出错,提示为
project project1.exe raised exception class EDBEngine Error with message 'General SQL error'
[microsoft][odbc sqldriver][sqlserver]将截断字符或二进制数据
[microsoft][odbc sqldriver][sqlserver]语句已终止
我看不太明白错误提示,能帮我解释一下吗