使用者登入的問題 |
尚未結案
|
papalili
一般會員 發表:28 回覆:31 積分:11 註冊:2003-09-02 發送簡訊給我 |
請教各位大大
我現在要做登入
可是出現這個錯誤訊息
我使用的是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 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 請先确認您的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 發送簡訊給我 |
|
papalili
一般會員 發表:28 回覆:31 積分:11 註冊:2003-09-02 發送簡訊給我 |
謝謝大大
我也試過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 發送簡訊給我 |
引言: 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 發送簡訊給我 |
|
papalili
一般會員 發表:28 回覆:31 積分:11 註冊:2003-09-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |