BCB更新資料庫的問題~~請各位大大幫幫忙~ |
答題得分者是:Stallion
|
handsome0710
一般會員 發表:2 回覆:6 積分:1 註冊:2005-11-02 發送簡訊給我 |
小弟寫了一個程式~是用ACCESS來當資料庫~把裡面的數值抓出來做比較後在把新的值輸入到特定的欄位~可是現在並不會更新~請各位大大幫忙看一下是那裡出了錯~~謝謝
void __fastcall TForm1::Button3Click(TObject *Sender)
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("UPDATE CapabilityRole SET Systolicpre1=:change WHERE ID=:IDno");
ADOQuery1->Parameters->ParamByName("change")->Value=Edit2->Text;
ADOQuery1->ExecSQL();
}
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
handsome0710
一般會員 發表:2 回覆:6 積分:1 註冊:2005-11-02 發送簡訊給我 |
不好意思~我是用兩個按扭~一個是取特定行的值做運算~一個是做資訊更新~忘了跟大大說~這是我取特定的行所寫的程式這個功能正常~可是更新扭確無法更新~~ IDno=StrToInt(Edit1->Text) ; ADOQuery1->Close();
ADOQuery1->SQL->Clear();
searchStr="SELECT * FROM CapabilityRole where ID=" Edit1->Text; ADOQuery1->SQL->Add(searchStr); ADOQuery1->Active=true;
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
handsome0710
一般會員 發表:2 回覆:6 積分:1 註冊:2005-11-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
handsome0710
一般會員 發表:2 回覆:6 積分:1 註冊:2005-11-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
handsome0710
一般會員 發表:2 回覆:6 積分:1 註冊:2005-11-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
欄位有點多,看了一下資料庫欄位才知道應該是你的變數搞錯了!更正後我測過可以UPDATE資料庫,你少一行變數定義,加一行改成這樣~
void __fastcall TForm1::Button3Click(TObject *Sender) { IDno=StrToInt(Edit1->Text) ; ADOQuery1->Close(); //把血壓存入access ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("UPDATE CapabilityRole SET [Systolicpre1]=:change WHERE ID=:IDno"); ADOQuery1->Parameters->ParamByName("change")->Value=UserSystolicEdt->Text; ADOQuery1->Parameters->ParamByName("IDno")->Value=Edit1->Text; ADOQuery1->Prepared=true; ADOQuery1->ExecSQL(); // ADOQuery1->Open(); ADOQuery1->Close(); ADOQuery1->SQL->Clear(); searchStr="SELECT * FROM CapabilityRole where ID=" Edit1->Text; ADOQuery1->SQL->Add(searchStr); ADOQuery1->Active=true; }----------------------- Practice makes perfect. |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
引言: 欄位有點多,看了一下資料庫欄位才知道應該是你的變數搞錯了!更正後我測過可以UPDATE資料庫,你少一行變數定義,加一行改成這樣~ 還有附帶一下,資料庫不要放在桌面,存取會有問題。----------------------- Practice makes perfect.void __fastcall TForm1::Button3Click(TObject *Sender) { IDno=StrToInt(Edit1->Text) ; ADOQuery1->Close(); //把血壓存入access ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("UPDATE CapabilityRole SET [Systolicpre1]=:change WHERE ID=:IDno"); ADOQuery1->Parameters->ParamByName("change")->Value=UserSystolicEdt->Text; ADOQuery1->Parameters->ParamByName("IDno")->Value=Edit1->Text; ADOQuery1->Prepared=true; ADOQuery1->ExecSQL(); // ADOQuery1->Open(); ADOQuery1->Close(); ADOQuery1->SQL->Clear(); searchStr="SELECT * FROM CapabilityRole where ID=" Edit1->Text; ADOQuery1->SQL->Add(searchStr); ADOQuery1->Active=true; }----------------------- Practice makes perfect. |
handsome0710
一般會員 發表:2 回覆:6 積分:1 註冊:2005-11-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
handsome0710
一般會員 發表:2 回覆:6 積分:1 註冊:2005-11-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |