預存程序的錯誤 |
尚未結案
|
sundy6719
初階會員 發表:136 回覆:78 積分:42 註冊:2002-07-10 發送簡訊給我 |
請教二個問題我在StoredProc元件想要設定預存程序可是當我設定好時要ACTIVE:=TRUE時都會出現dbExpress Error:Invalid Parameter的錯誤可是我在MS-SQL中的程式碼是
CREATE PROCEDURE dc0001.TOM AS
BEGIN
declare @CUST VARCHAR(5)
Select @CUST=max(CUST_NO) From CUST
Select @CUST
END
GO
我沒有設定輸入參數丫
為什麼還會有錯誤呢
而我使用 SQL Query Analyzer工具使用都正常
而第二個問題是
CREATE PROCEDURE MaxCUST_NO AS
BEGIN
DECLARE @CUST_NO CHAR(4)
DECLARE @NEW_CUST_NO INT
SELECT @CUST_NO = MAX(CUST_NO) FROM CUST
SELECT @NEW_CUST_NO = CAST(@CUST_NO AS Int) 1
SELECT @CUST_NO = RIGHT('0000' CAST(@NEW_CUST_NO AS CHAR(4)), 4)
SELECT @CUST_NO
END
使用SQL Query Analyzer工具會出現以下的錯誤
伺服器: 訊息 245,層級 16,狀態 1,程序 MaxCUST_NO,行 7
將 varchar 數值 'C000' 轉換成資料型別為 int 的資料行語法錯誤。
這是為什麼呢???
謝謝感激不盡
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
引言: 請教二個問題我在StoredProc元件想要設定預存程序可是當我設定好時要ACTIVE:=TRUE時都會出現dbExpress Error:Invalid Parameter的錯誤可是我在MS-SQL中的程式碼是 CREATE PROCEDURE dc0001.TOM AS BEGIN declare @CUST VARCHAR(5) Select @CUST=max(CUST_NO) From CUST Select @CUST END GO 我沒有設定輸入參數丫 為什麼還會有錯誤呢 因為 Select @CUST 會回傳 Cursor (跟下 select SQL 一樣) 而我使用 SQL Query Analyzer工具使用都正常 而第二個問題是 CREATE PROCEDURE MaxCUST_NO AS BEGIN DECLARE @CUST_NO CHAR(4) DECLARE @NEW_CUST_NO INT SELECT @CUST_NO = MAX(CUST_NO) FROM CUST SELECT @NEW_CUST_NO = CAST(@CUST_NO AS Int) 1 @CUST_NO 的值是'C000'當然會有問題 SELECT @CUST_NO = RIGHT('0000' CAST(@NEW_CUST_NO AS CHAR(4)), 4) SELECT @CUST_NO END 使用SQL Query Analyzer工具會出現以下的錯誤 伺服器: 訊息 245,層級 16,狀態 1,程序 MaxCUST_NO,行 7 將 varchar 數值 'C000' 轉換成資料型別為 int 的資料行語法錯誤。 這是為什麼呢??? 謝謝感激不盡 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |