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

我要執行 Sybase Sql 如何用??

答題得分者是:hagar
elvis114
一般會員


發表:37
回覆:53
積分:18
註冊:2003-06-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-16 16:31:21 IP:61.220.xxx.xxx 未訂閱
Delphi 6 如下: ------------------------------------------------------------------ try         ADOConnection1.LoginPrompt := FALSE;             if ADOConnection1.Connected = false then             ADOConnection1.Open;             ADOquery1.Connection:= ADOConnection1;         except         showmessage('無法正常連線,請查明原狀況!!');         close;         exit;         end;          ADOquery1.SQL.Clear;          ADOquery1.SQL.Text :=                                 'select l.spid, locktype=v1.name,'+                                 'tablename=convert(char(15),object_name(l.id)),'+                                 'convert(char(15),l.class),USERname=v3.hostname,'+                                 'v3.status,v3.cmd'+                                 'from master..syslocks l,'+                                 'master..spt_values v1,'+                                 'master..spt_values v2,'+                                 'master..sysprocesses v3'+                                 'where l.type = v1.number'+                                 'and v1.type = "L"'+                                 'and (l.context+2048) = v2.number'+                                 'and v2.type = "L2"'+                                 'and v3.spid = l.spid'+                                 'and l.dbid=db_id("future")'+                                 'order by l.spid';          try                 ADOquery1.Open;                 for i :=0 to   ADOquery1.RecordCount -1 do                 begin                            Memo1.Text :=   ADOquery1.FieldByName('spid').asstring+ ' '+                                         ADOquery1.FieldByName('locktype').asstring+ ' '+                                         ADOquery1.FieldByName('tablename').asstring+ ' '+                                         ///ADOquery1.FieldByName(' ').asstring+ ' '+                                         ADOquery1.FieldByName('USERname').asstring+                                         ADOquery1.FieldByName('status').asstring+                                         ADOquery1.FieldByName('cmd').asstring+                                         #13#10;                 ADOquery1.Next;                 end;          ADOquery1.Close;          except  On E:Exception do                 begin                         showmessage(E.Message);                         Memo1.Text := E.Message ;                         Exit;                 end;         end; -------------------------------------------------------------------- Error Message 如下: [INTERSOLV][ODBC SQL Server driver][SQL Server]Incorrect syntax near '.' 我要如何修改呢?? ======================= 謝謝各位大德不吝賜教!! 小弟感激不進 =======================
------

南無藥師琉璃光如來
保佑您
Fishman
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-16 16:55:25 IP:210.65.xxx.xxx 未訂閱
Hi elvis114,    試試 master..spt_values  --> master.spt_values 
ADOquery1.SQL.Text :=
'select l.spid, locktype=v1.name,' 
'tablename=convert(char(15),object_name(l.id)),' 
'convert(char(15),l.class),USERname=v3.hostname,' 
'v3.status,v3.cmd' 
'from master.syslocks l,' 
'master.spt_values v1,' 
'master.spt_values v2,' 
'master.sysprocesses v3' 
'where l.type = v1.number' 
'and v1.type = "L"' 
'and (l.context 2048) = v2.number' 
'and v2.type = "L2"' 
'and v3.spid = l.spid' 
'and l.dbid=db_id("future")' 
'order by l.spid';
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
elvis114
一般會員


發表:37
回覆:53
積分:18
註冊:2003-06-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-16 17:40:39 IP:61.220.xxx.xxx 未訂閱
ADOquery1.SQL.Text :=                                 'select l.spid, locktype=v1.name,'+                                 'tablename=convert(char(15),object_name(l.id)),'+                                 'convert(char(15),l.class),USERname=v3.hostname,'+                                 'v3.status,v3.cmd'+                                 'from master.syslocks l,'+                                 'master.spt_values v1,'+                                 'master.spt_values v2,'+                                 'master.sysprocesses v3'+                                 'where l.type = v1.number'+                                 'and v1.type = "L"'+                                 'and (l.context+2048) = v2.number'+                                 'and v2.type = "L2"'+                                 'and v3.spid = l.spid'+                                 'and l.dbid=db_id("future")'+                                 'order by l.spid';    還是有一樣的 Error : [INTERSOLV][ODBC SQL Server driver][SQL Server]Incorrect syntax near '.' ======================= 謝謝各位大德不吝賜教!! 小弟感激不進 =======================
------

南無藥師琉璃光如來
保佑您
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-16 17:50:56 IP:202.39.xxx.xxx 未訂閱
不知是不是沒空格的關係?
ADOquery1.SQL.Text :=
                                'select l.spid, locktype=v1.name,' 
                                'tablename=convert(char(15),object_name(l.id)),' 
                                'convert(char(15),l.class),USERname=v3.hostname,' 
                                'v3.status,v3.cmd' 
                                'from master.syslocks l,' 
                                'master.spt_values v1,' 
                                'master.spt_values v2,' 
                                'master.sysprocesses v3' 
                                'where l.type = v1.number'  // where 跟之前的 v3 之間沒空格
                                'and v1.type = "L"'  // and 跟之前的 v1.number 間沒空格
                                'and (l.context 2048) = v2.number'   // and 跟之前的 v1.type 間沒空格
                                'and v2.type = "L2"'   // and 跟之前的 v2.number 間沒空格
                                'and v3.spid = l.spid'   // and 跟之前的 L2 間沒空格
                                'and l.dbid=db_id("future")'  // and 跟之前的 l.spid 間沒空格
                                'order by l.spid'; // order 跟之前的 ("future") 間沒空格    
發表人 - hagar 於 2004/06/16 17:54:23
elvis114
一般會員


發表:37
回覆:53
積分:18
註冊:2003-06-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-16 18:09:06 IP:61.220.xxx.xxx 未訂閱
謝謝,Fishman、hagar‧ 真的加上空白就可了 ^^ type = "L"type = "L2" > ======================= 謝謝各位大德不吝賜教!! 小弟感激不進 =======================
------

南無藥師琉璃光如來
保佑您
系統時間:2024-06-29 7:59:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!