我想制作一个添加用户窗体 edit1和edit2分别为用户名框和密码框 
另外只用了一个query和一个table 没有其他控件了
程序如下 请高手指教 看看程序是否有问题 谢谢
procedure tform1.button1click(sender:tobject)
var
s:string;
begin
if (edit.text:='') or (edit2.text:='') then
begin
showmessag('请添入完整数据');
exit;
end
else
begin
s:=edit1.text;
query1.close;
query1.sql.clear;
query1.sql.add('select * from yhdl where 用户名=:l');
query1.parambyname('l').value:=s;
query1.open;
if query1.recordcount=0 then
begin
table1.open;
table1.append;
table1.fiebyname['用户名']:=edit1.text;
table2.fiebyname['密码']:=edit2.text;
table1.post;
showmessage('添加成功');
end
else 
showmessage('该用户名已用请重新输入');
form1.show; //form1为添加窗体 
edit1.clear;
edit2.clear;
edit1.setfocus;
end;
end;
procedure tform1.button2click(sender :tobject)//取消按扭
begin
close;
end;
end.
运行后系统错误提示为与sql sverver 建立信任连接
我想这可能是query 问题
可query1 的datsorucename 也设了 sql语句也写了 active 也设成了true
还有什么错呀 请高手指教 小弟在此叩谢

解决方案 »

  1.   

    你的query1的connection属性或connectionstring属性没设置,设置一下就行了
      

  2.   

    我已经把的query1的connectonstring属性设过了 没有用
      

  3.   

    if (edit.text:='') or (edit2.text:='') then
    这句话就有问题的 但是和你的错误信息关系不大的 你本来是要判断是否为空的 但是你的语句却是给两个edit的赋值为空了
    应该是(edit.text='') or (edit2.text='')把冒号去掉!
      

  4.   

    你的问题主要还是出在与数据库连接上了,不知道你所用的SQL server是远程的还是本地的。
    本地采用PIPE进行连接,如果是远程数据库,应采用tcp/ip进行配置,断口号用通用断口号1433。
    对query中的connectionstring中进行正确配置后,将connected设置为true,看看是否还有此问题。