線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1218
推到 Plurk!
推到 Facebook!

使用者登入的問題

尚未結案
papalili
一般會員


發表:28
回覆:31
積分:11
註冊:2003-09-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-12 15:06:20 IP:218.174.xxx.xxx 未訂閱
請教各位大大 我現在要做登入 可是出現這個錯誤訊息 我使用的是SQL資料庫 以下是我寫的程式碼 請各位大大指證 function login:Boolean; begin with TenterF.Create(Application) do begin result := re; free; end; end; procedure TenterF.Button1Click(Sender: TObject); begin ADOQuery1.Active := False; if (Edit1.Text <> '') and (Edit2.Text <> '') then ADOQuery1.SQL.text:='select * from staff where staffID= '''+lowercase(trim(edit1.text))+'''and password='''+lowercase(trim(edit2.text))+''' '; 這一行跟前面那行我都有試過 出現的訊息是一樣的 //ADOQuery1.SQL.text:='select * from staff where staffID='+quotedstr(edit1.text)+' and password='+quotedstr(edit2.text); ADOQuery1.Active := True; if ADOQuery1.RecordCount=1 then begin re := True; close; end else begin times := times + 1; // co 數值加一 if times = 3 then // co 數值為 3 ,則出現錯誤訊息,程式關閉 begin showmessage('帳號或密碼錯誤'+inttostr(times)+'次:程式將關閉'); re := False; close; end else showmessage('帳號或密碼錯誤'+inttostr(times)+'次'); end; ADOQuery1.Close; end; procedure TenterF.FormCreate(Sender: TObject); begin times :=0; ADOConnection1.Connected := False; ADOConnection1.ConnectionString := 'privder=SQLOLEDB.1;' + 'Initial Catalog=' + GetCurrentDir + 'HFUPOS' + 'persist Security Info = False'; end; procedure TenterF.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then selectnext(activecontrol,true,false); end; procedure TenterF.Edit1Change(Sender: TObject); begin if not ( Edit1.Text = '') then Button1.Enabled := True else Button1.Enabled := False; end; end
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-12 15:25:38 IP:61.221.xxx.xxx 未訂閱
您好: 語法好像沒問題 檢查一下你ADOconnection1的connectionstring錯誤訊息 指的是這方面的錯誤,檢查看看 ~~應無所住而生其心~~ 發表人 - Terrychen 於 2004/01/12 15:27:17
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-12 15:26:18 IP:63.84.xxx.xxx 未訂閱
您好﹗    請先确認您的ADOQuery元件是否在設計時期已指定其上游的ADOConnection元件﹐即ADOQuery元件的Connection屬性有無指定﹒    將程式碼中SQL部分改為如下看看﹕ ADOQuery1.SQL.text:='select * from staff where staffID= '''+lowercase(trim(edit1.text))+'''^and password=''' lowercase(trim(edit2.text)) ''''; //以上^代表一個空格 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-12 15:31:10 IP:210.65.xxx.xxx 未訂閱
Hi:    papalili    ADOQuery1 的 Connection 應該是 ADOConnection1 吧? 若是,則應該設定 ADOConnection1 的 ConnectionString 否則,則應該設定 ADOQuery1 的 ConnectionString -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
papalili
一般會員


發表:28
回覆:31
積分:11
註冊:2003-09-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-13 01:24:25 IP:211.76.xxx.xxx 未訂閱
謝謝大大 我也試過cashxin2002大大的程式  可是還是一樣的錯誤訊息 可是去看元件連結也是對的 所以我覺得是我以下貼的程式 的路徑設錯  還是說少寫了什麼    procedure TenterF.FormCreate(Sender: TObject); begin   times :=0;   ADOConnection1.Connected := False;   ADOConnection1.ConnectionString := 'privder=SQLOLEDB.1;' 'Initial Catalog=' GetCurrentDir 'HFUPOS' 'persist Security Info = False'; end; 麻煩各位大大摟
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-13 02:34:24 IP:203.204.xxx.xxx 未訂閱
引言: procedure TenterF.FormCreate(Sender: TObject); begin times :=0; ADOConnection1.Connected := False; ADOConnection1.ConnectionString := 'privder=SQLOLEDB.1;' 'Initial Catalog=' GetCurrentDir 'HFUPOS' 'persist Security Info = False'; end;
1.依錯誤訊息來看 它已清楚的告訴你是[無效的連線字串屬性]也就是連線字串設定錯誤 2.從程式碼 privder=SQLOLEDB.1 得知 你的資料庫應為MS SQLServer ,然而後續的屬性就不對了,我試了一下(使用Delphi的連線精靈) 連線字串應如以下格式
    ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;'
         +'Password=XXXXXX;;Persist Security Info=True;'
         +'User ID=XXXXXX;;Initial Catalog=DataBaseName;;'
         +'Data Source=ServerNme;' ;     
XXXXXX:連結資料庫使用的登入帳號及密碼 DataBaseName:欲連結的資料庫名稱 ServerName:資料庫伺服器的名稱或IP ps:上述'+'加號乃全形(因半形無法顯示) 實際應使用半形加號才對,請自行更換
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-01-13 10:26:52 IP:211.22.xxx.xxx 未訂閱
您好: 對於連結方面建議您使用XX.UDL檔來做連結 不要寫在程式內,日後若需修改連結 只要開啟XX.UDL來修改便可以 GetCurrentDir這好像是為了與執行檔同路徑做的 若使用XX.UDL,只需在data link file改為.\XX.udl 就可以了 ~~應無所住而生其心~~
papalili
一般會員


發表:28
回覆:31
積分:11
註冊:2003-09-02

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-01-15 20:32:44 IP:211.76.xxx.xxx 未訂閱
謝謝大大的講解 可是現在我是用單機版的 所以Chance36大大說的沒有辦法使用 另外我想問說 如果我想在網路上架設伺服器的話 是只要在網路上有網路空間就可以架了嗎 謝謝各位大大
系統時間:2024-06-29 16:27:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!