全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1812
推到 Plurk!
推到 Facebook!

access連接問題

尚未結案
joon
一般會員


發表:35
回覆:41
積分:14
註冊:2004-01-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-10 13:03:25 IP:61.174.xxx.xxx 未訂閱
…… sPass=Edit2->Text; AnsiString sQuery; sQuery="select *from Login where name='"+sName+"'and password='"+sPass+"'"; ADOQuery1->Close(); ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sQuery); ADOQuery1->Active=true; if((ADOQuery1->Eof)&&(ADOQuery1->Bof))  {    MessageDlg("用戶名或密碼錯誤!",mtInformation,TMsgDlgButtons()<Close(); …… run後提示……data type mismatch in criteria expression……請問各位是怎麽回事呢?
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-11 01:24:53 IP:211.74.xxx.xxx 未訂閱
你的MessageDlg怪怪的.. MessageDlg("用戶名或密碼錯誤!", mtInformation, TMsgDlgButtons() << mbOK, 0); return;
joon
一般會員


發表:35
回覆:41
積分:14
註冊:2004-01-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-13 08:22:05 IP:61.174.xxx.xxx 未訂閱
不好意思, 是我COPY錯了,是bass15您寫的那樣的  知不知道是哪裏還有問題呢? 謝謝
cashxin2002
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-13 16:15:09 IP:63.84.xxx.xxx 未訂閱
您好﹗    程式碼中沒有指定sName孌數值﹒    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
terrychen
尊榮會員


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-13 23:11:21 IP:211.76.xxx.xxx 未訂閱
您好: 錯誤似乎代表的是資料型態的錯誤 會不會是 sQuery="select *from Login where name=" sName "and password=" sPass ""; ~~應無所住而生其心~~
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-14 02:48:44 IP:211.74.xxx.xxx 未訂閱
猜一下...你是不是把資料庫中 password 型態設成數字阿..改成文字試試看吧..
joon
一般會員


發表:35
回覆:41
積分:14
註冊:2004-01-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-01-14 08:45:45 IP:61.174.xxx.xxx 未訂閱
謝謝您們cashxin2002、terrychen、bass15。您們說的我都試過了,可還是…… 我就想編寫一個一般的login密碼的小程序 void __fastcall TfmLogin::Button1Click(TObject *Sender) { AnsiString sName,sPass; sName=Edit1->Text; if (sName.Length()==0)  {   MessageDlg("請輸入用戶名",mtInformation,TMsgDlgButtons()<Text; AnsiString sQuery; sQuery="select *from Login where name='" sName "'and password='" sPass "'"; ADOQuery1->Close(); ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(sQuery); ADOQuery1->Active=true; if(ADOQuery1->Eof&&ADOQuery1->Bof) { MessageDlg("用戶名或密碼錯誤!",mtInformation,TMsgDlgButtons()<Close(); ModalResult=mrOk; } 這是我寫的,run時ok,當在edit輸入時就說……data type mismatch in criteria expression……然後就指在if(ADOQuery1->Eof&&ADOQuery1->Bof)上 有沒有示煩的例子,再次勞煩各位,謝謝
terrychen
尊榮會員


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-01-14 09:25:28 IP:61.221.xxx.xxx 未訂閱
您好: 小弟不瞭解C 語法 可將ADOQuery1->Active=true; 改為ADOQuery1->Open();試試ㄇ ~~應無所住而生其心~~
joon
一般會員


發表:35
回覆:41
積分:14
註冊:2004-01-02

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-01-15 12:34:12 IP:61.174.xxx.xxx 未訂閱
謝謝, 還有個問題要請教,ADOQuery1:CommandText does not return a result set,是什麽原因?哪些地方要設置或編寫些什麽東西呢?
terrychen
尊榮會員


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

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-01-15 12:48:17 IP:61.221.xxx.xxx 未訂閱
您好: 在DELPHI中若使用ADOQuery1.ExecSQL而又要有傳回直才會出現該錯誤訊息 ADOQuery1.Open應該不會 ~~應無所住而生其心~~
joon
一般會員


發表:35
回覆:41
積分:14
註冊:2004-01-02

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-01-31 13:07:24 IP:218.0.xxx.xxx 未訂閱
謝謝您,我是run ………… ADOQ_Reg->SQL->Clear(); ADOQ_Reg->SQL->Add("INSERT into gsm_User "); ADOQ_Reg->SQL->Add("values(:Name_Val,:Pass_Val,:Pope_Val)"); ADOQ_Reg->Parameters->ParamByName("Name_Val")->Value=Edit1->Text; ADOQ_Reg->Parameters->ParamByName("Pass_Val")->Value=Encrypt(Edit2->Text); ADOQ_Reg->Parameters->ParamByName("Pope_Val")->Value=ComboBox1->Text; ADOQ_Reg->Open(); ………… 之後顯示ADOQ_Reg:CommandText does not return a result set請問是爲什麽呢?是不是insert原因?謝謝
terrychen
尊榮會員


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

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-01-31 16:52:54 IP:211.76.xxx.xxx 未訂閱
您好: 將ADOQ_Reg->Open(); 改為ADOQ_Reg->ExecSQL(); 就可以了因為INSERT沒回傳值,所以不能用ADOQ_Reg->Open(); ~~應無所住而生其心~~
joon
一般會員


發表:35
回覆:41
積分:14
註冊:2004-01-02

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-02-03 08:28:34 IP:218.0.xxx.xxx 未訂閱
十分感謝terrychen~
系統時間:2024-04-23 20:17:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!