首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

在线的,帮帮忙,有点急

2013-06-26 
在线的各位大哥,帮帮忙,有点急!下面是我写的代码:procedure TForm1.Button1Click(Sender: TObject)begin/

在线的各位大哥,帮帮忙,有点急!
下面是我写的代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
      //创建连接字符串
     F_Connection := TADOConnection.Create(nil);
     with F_Connection do
     begin
        if Connected then Connected := false;
        ConnectionString:='Provider=SQLOLEDB.1;Password=sa;Persist Security Info=False;User ID=sa;Initial Catalog=LZH_Test;Data Source=LIUZHIHUA';
        CommandTimeout := 10;
        LoginPrompt := false;
        Open;
     end;

     F_Query := TADOQuery.Create(nil);
     with F_Query do
     begin
        SQL.Clear();
        if Active then close();
        Connection:= F_Connection;
        
        SQL.Add('select * from UserLogin where (UName:=name) and (UPwd := pwd)');
        //调试到这里的时候,就报错了,然后我想在SQL语句中直接赋值,也不行,那个值就算我给的   是string类型,但他在数据库中执行的时候,给我自己转换成列名了...也报错
        Parameters.ParamByName('name').Value:=edit1.Text;
        Parameters.ParamByName('pwd').Value:=edit2.Text;
        
        Open;
     end;
end;
谁能告诉我这是为什么呢?
[解决办法]
SQL.Add('select * from UserLogin where (UName=:name) and (UPwd = :pwd)');
[解决办法]
按楼上方法试试先吧:等号在前冒号在后
[解决办法]
先在設計階段加入連接及查詢部件,調試好SQL等後,再用動態建立的方法。建議連接部件還是用靜態建立好。
[解决办法]
      with F_Query do
      begin
         SQL.Clear();
         Connection := F_Connection;
         
         SQL.Add('insert into UserLogin (UName,UPwd) values(:name,:pwd)');
                  
         Parameters.ParamByName('name').Value :=  edit1.Text;
         Parameters.ParamByName('pwd').Value := edit2.Text;


         ExecSQL;//Open;这里改为ExecSQL,你还想要返回什么结果?
      end;
[解决办法]
哈哈,
后面这个不是用Open,用ExecSQL;
要返回数据的用Open,比如Select查询
增加、删除、修改数据什么的用ExecSQL,比如Insert into,delete
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

SQL.Add('select * from UserLogin where (UName=:name) and (UPwd = :pwd)');

嗯嗯,我开始是这样写的他也报错。。。后面这个工具直接卡死,重启一下代码又还原了...好悲剧的


现在好了吧?

好了,那个已经可以了,不过我现在又遇到了一个问题:
{添加}
procedure TForm3.Button1Click(Sender: TObject);
begin
end;
这个地方我不知道该怎么弄这个参数,然后这个添加语句返回的结果,我不知道怎么接收...还得麻烦一下,谢谢!

还有这个地方这样能行吗?

         SQL.Add('insert into UserLogin (UName,UPwd) values(:name,:pwd)');
          


可以的。

ExecSQL有返回值,但不晓得可不可以,你可以测试下。

热点排行