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

SQL語法請教

答題得分者是:timhuang
cashxin2002
版主


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-28 21:15:11 IP:63.84.xxx.xxx 未訂閱
各位前進. 請問下列語法,如果要并在一列該如何寫. Query2.SQL.Add('INSERT INTO TEST.DBF'); Query2.SQL.Add('( ENO ,'); Query2.SQL.Add(' NAME ,'); Query2.SQL.Add(' AGE ,'); Query2.SQL.Add(' ADDR '); Query2.SQL.Add(' ) VALUES ( '); Query2.SQL.Add(' ''' INTTOSTR(MAXENO) ''' ,'); Query2.SQL.Add(' ''' EDIT1.Text ''' , '); Query2.SQL.Add(' ''' EDIT2.Text ''' , '); Query2.SQL.Add(' ''' EDIT3.Text ''' ) '); 小弟在改寫過程式,出現如下錯誤信息: [Error] UNIT1.PAS(65): '(' expected but identifier 'INTO' found 不甚感謝! Delphi新手﹐懇請各位前輩多多指教﹗謝謝您﹗ 忻晟
------
忻晟
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-28 21:21:25 IP:61.221.xxx.xxx 未訂閱
Hi, 看你的這段程式碼應該是沒有太大的問題, 可能是再之前的程式碼有 ; (分號)忘了打或是什麼小符號 ' (單引號) 錯了, 請貼多一點前面的程式好知道問題的所在!!
cashxin2002
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-28 21:26:50 IP:63.84.xxx.xxx 未訂閱
小弟想請教的是可以把這段SQL語言并在一起嗎?該如何寫.小弟是將此并在一起后才出現那個出錯信息滴,謝謝! 程式碼如下: procedure TForm1.Button1Click(Sender: TObject); VAR MAXENO : INTEGER; begin Query2.SQL.Clear; Query2.SQL.Add('SELECT MAX(ENO) AS MAXENO FROM TEST.DBF'); Query2.CLOSE; Query2.OPEN; MAXENO := Query2.FieldByName('MAXENO').AsInteger 1; Query2.SQL.Clear; Query2.SQL.Add('INSERT INTO TEST.DBF'); Query2.SQL.Add('( ENO ,'); Query2.SQL.Add(' NAME ,'); Query2.SQL.Add(' AGE ,'); Query2.SQL.Add(' ADDR '); Query2.SQL.Add(' ) VALUES ( '); Query2.SQL.Add(' ''' INTTOSTR(MAXENO) ''' ,'); Query2.SQL.Add(' ''' EDIT1.Text ''' , '); Query2.SQL.Add(' ''' EDIT2.Text ''' , '); Query2.SQL.Add(' ''' EDIT3.Text ''' ) '); Query2.ExecSQL; Query1.CLOSE; Query1.OPEN; end; Delphi新手﹐懇請各位前輩多多指教﹗謝謝您﹗ 忻晟
------
忻晟
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-28 21:34:27 IP:61.221.xxx.xxx 未訂閱
請你在第二段的 Query2.SQL.Clear; 之前加上一段 Query2.Close; 就你貼出來的程式部分是 ok 的沒有問題哦. 另外你想問的併合程式碼的部分也是 ok 的, 但你的錯誤訊息是 complie 時期的錯誤, 應該是語法的錯誤, 還沒有開始執行吧... 所以請你再檢查一下是不是有什麼小地方有錯, 或是你現在的錯誤訊息又不同了呢? 若是又有不一樣的錯誤訊息也請一併 post 出!! 發表人 - timhuang 於 2003/04/28 21:36:48
cashxin2002
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-28 21:39:01 IP:63.84.xxx.xxx 未訂閱
謝謝您的指點. 可能是小弟寫得不夠清楚, 小弟是想把第一次Post的SQL并在一起,請問該如何合并,如: Query2.SQL.Add(INSERT INTO TEST.DBF (ENO,NAME,AGE,ADDR)...... 請前輩指教后面的那一部分... Delphi新手﹐懇請各位前輩多多指教﹗謝謝您﹗ 忻晟
------
忻晟
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-28 21:43:14 IP:61.221.xxx.xxx 未訂閱
ok.. 就合併的部分如下:    
  Query2.SQL.Add('INSERT INTO TEST.DBF (ENO, NAME, AGE, ADDR) VALUES ( ''' INTTOSTR(MAXENO) ''',''' EDIT1.Text  ''',''' EDIT2.Text  ''',''' EDIT3.Text  ''')  ');
這樣就可以了!!
cashxin2002
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-28 21:51:06 IP:63.84.xxx.xxx 未訂閱
前輩,照寫程式碼,出錯信息如下: [Error] UNIT1.PAS(65): Unterminated string 請指點是何原因/ Delphi新手﹐懇請各位前輩多多指教﹗謝謝您﹗ 忻晟
------
忻晟
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-28 22:00:30 IP:61.221.xxx.xxx 未訂閱
這行程式是沒有問題的, 請你先仔細核對一下是不是 copy 的時候漏了, 另外你也可以試著先將此行用 // 註解起來, 好確定是否是此行引起的錯誤! 弟確實經過了 complie 沒有問題的, 請你再核對看看!
cashxin2002
版主


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-28 22:04:11 IP:63.84.xxx.xxx 未訂閱
解決問題了,感謝前輩不吝賜教...
------
忻晟
系統時間:2024-06-19 6:22:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!