當前位置:首頁 » 編程語言 » 前台傳sql語句參數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前台傳sql語句參數

發布時間: 2022-08-12 09:37:57

Ⅰ java使用sql查詢到了數據想傳到前台,該用什麼傳過去

既然是html文件,只能js操作文檔節點,動態改變數據,只有jsp你可以用jstl標簽,el表達式

Ⅱ 簡述什麼是SQL注入,寫出簡單的SQL注入語句

SQL注入:利用現有應用程序,將(惡意)的SQL命令注入到後台資料庫引擎執行的能力,這是SQL注入的標准釋義。

Ⅲ C#中怎麼把後台的參數傳到前台html中作為SQL語句

不能調後台的方法,最好寫成欄位:
protected string name=Session["UserName"].ToString();

Ⅳ 如何讓傳入的參數作為sql語句條件中的參數

需要使用動態語句
例如:
DECLARE @參數 VARCHAR(1000)

SET @參數='ID=1'

PRINT 'select * from 表 where '+@參數

EXEC('select * from 表 where '+@參數)

Ⅳ 求助一個SQL語句,或者過程【50分敬上】

CREATE OR REPLACE PACKAGE BODY xxae_zhax_test
AS
cv_package_name CONSTANT VARCHAR2(18) := 'XXAE_ZHAX_TEST'; -- パッケージ名
error_DBError EXCEPTION; -- DB処理のの場合エラー発生
error_main EXCEPTION; -- mainでエラー発生
error_code NUMBER; -- エラーNO: 0--OK 1--NG
PROCEDURE chk_param(
iv_receive_date IN VARCHAR2, -- 受信日
iv_time IN VARCHAR2, -- パラメータ時刻
iv_process_order IN VARCHAR2, -- 処理順位
iv_mail_address IN VARCHAR2) -- 配信先メールアドレス
IS
-- ローカル変數
ld_time DATE; -- パラメータ時刻の書式チェック用変數
ln_process_order NUMBER; -- 処理順位數字型チェック用変數
lv_mail_address1 VARCHAR2(240); -- メールアドレスの書式チェック用変數
lv_mail_address2 VARCHAR2(240); -- メールアドレスの書式チェック用変數
ld_recv_date DATE; -- 受信日
ln_err_log_count NUMBER; -- エラー件數
-- ローカル例外
error_01 EXCEPTION; -- パラメータがNULLの場合例外処理用
error_02 EXCEPTION; -- パラメータの型チェックがエラー発生した場合
error_03 EXCEPTION; -- パラメータ時刻の書式チェックがエラー発生した場合
error_04 EXCEPTION; -- メールアドレスの書式チェックがエラー発生した場合
error_07 EXCEPTION; -- 受信日の関系チェックがエラー発生した場合
--
BEGIN
-- 1.パラメータの妥當性チェック
-- 受信日、パラメータ時刻、処理順位は 必須項目です
IF (iv_receive_date IS NULL) OR (iv_time IS NULL) OR (iv_process_order IS NULL) THEN
DBMS_OUTPUT.PUT_LINE('パラメータの不正(受信日、パラメータ時刻、処理順位は必須項目です。)');
RAISE error_01;
-- 以下のパラメータの型が正しいかを判定します。正しくなければエラーとします。
ELSE
-- 受信日が日付型チェック
BEGIN
ld_recv_date := TO_DATE(iv_receive_date, 'YYYY/MM/DD HH24:MI:SS'); --CATCH THE PROCESSED DATE
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('受信日の型が不正です。');
RAISE error_02;
END;
-- 処理順位が數字型チェック
BEGIN
ln_process_order := TO_NUMBER(iv_process_order);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('処理順位の型が不正です。');
RAISE error_02;
END;
-- パラメータ時刻の書式が「HH24:MM」型チェック
BEGIN
ld_time := TO_DATE(iv_time, 'HH24:MI');
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('パラメータ時刻の形式が不正です。有効なパラメータ時刻を入力してください。');
RAISE error_03;
END;

END IF;
--三個參數 都符合要求之後的CODE
-- メールアドレスがNULLの場合
IF (iv_mail_address IS NOT NULL) THEN
lv_mail_address1 := iv_mail_address;
LOOP
EXIT WHEN lv_mail_address1 IS NULL;

IF (INSTR(lv_mail_address1, ' ') = 0) THEN
lv_mail_address2 := lv_mail_address1;
lv_mail_address1 := NULL;
ELSE
lv_mail_address2 := SUBSTR(lv_mail_address1, 1, INSTR(lv_mail_address1, ' ') - 1);
lv_mail_address1 := SUBSTR(lv_mail_address1, INSTR(lv_mail_address1, ' ') + 1);
END IF;

IF LENGTH(lv_mail_address2) - LENGTH(REPLACE(lv_mail_address2, '.', '')) > 1 --'.'MORE THAN ONE
OR LENGTH(lv_mail_address2) - LENGTH(REPLACE(lv_mail_address2, '@', '')) > 1 --'@'MORE THAN ONE
OR SUBSTR(lv_mail_address2, LENGTH(lv_mail_address2)) = '.' --'.'END
OR SUBSTR(lv_mail_address2, LENGTH(lv_mail_address2)) = '@' --'@'END
OR SUBSTR(lv_mail_address2, 1) = '.' --'.'START
OR SUBSTR(lv_mail_address2, 1) = '@' --'@'START
THEN
RAISE error_04;
END IF;
END LOOP;
END IF;
--
--=================================================================
-- 受信日范囲を取得
--=================================================================
-- パラメータからの受信日は 収集後エラーログに存在するチェック
BEGIN
SELECT COUNT(*) -- 受信日自
INTO ln_err_log_count
FROM xxae_collect_error_logs xcel
WHERE xcel.recv_date = ld_recv_date
AND xcel.parameter_time = iv_time;
EXCEPTION
WHEN OTHERS THEN
RAISE error_DBError;
END;
--パラメータからの受信日は 収集後エラーログに存在の場合
IF (ln_err_log_count > 0) THEN
DBMS_OUTPUT.PUT_LINE('パラメータからの受信日は 収集後エラーログに存在します');
RAISE error_07;
END IF;
--
--=================================================================
-- 例外処理
--=================================================================
EXCEPTION
WHEN error_DBError THEN
error_code := 1;
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'xxae_collect_error_logsDB処理エラー');
WHEN error_01 THEN -- パラメータのNULLの例外処理
error_code := 1;
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'XXAE06201_01');
WHEN error_02 THEN -- パラメータの型チェックの例外処理
error_code := 1;
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'XXAE06201_02');
WHEN error_03 THEN -- パラメータ時刻チェックの例外
error_code := 1;
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'XXAE06201_03');
WHEN error_04 THEN -- メールアドレスチェックの例外処理
error_code := 1;
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'XXAE06201_04');
WHEN error_07 THEN -- 処理受信日の存在チェックの例外処理
error_code := 1;
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'XXAE06201_07');
WHEN OTHERS THEN
error_code := 1;
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'XXAE06201_99');
END chk_param;
--=================================================================
-- インターフェイス連攜遅延確認処理
--=================================================================
PROCEDURE collect_err(
iv_receive_date IN DATE, -- 受信日
in_process_order IN NUMBER, -- 処理順位
iv_time IN VARCHAR2) -- パラメータ時刻
IS
-- ローカル変數
lp_hulft_id_count BINARY_INTEGER; -- HULFTIDの件數
lp_file_id_count BINARY_INTEGER; -- ファイルIDの件數
lp_count BINARY_INTEGER; -- DB「収集後エラーログ」書出の件數
ln_seq_no BINARY_INTEGER; -- シーケンス番號
-- 受信日に連攜されているFILE IDを取得します。
CURSOR recv_list
IS
SELECT xril.file_id AS file_id,
SUBSTR(xril.start_time,1,5) AS start_time
FROM xxae_recv_if_list xril,
xxae_delay_monitor_if_mst xdm
WHERE ((xril.start_day = iv_receive_date - 1
AND xril.start_time >= '12:00:00')
OR (xril.start_day = iv_receive_date
AND xril.start_time < '12:00:00'))
AND xril.file_id = xdm.hulft_id
AND xdm.schele_date = TO_DATE('99991231','YYYYMMDD');
-- 遅延監視マスタから必要な情報を取得します。
CURSOR cur_adm
IS
SELECT xdm.hulft_id AS hulft_id, -- HULFT ID
xdm.schele_date AS schele_date -- 予定日付
FROM xxae_delay_monitor_if_mst xdm
WHERE xdm.schele_date = iv_receive_date;
BEGIN
lp_count := 0;
<<recv_list_loop>>
FOR rec_recv_if_list IN recv_list LOOP
lp_file_id_count := 0;
BEGIN
SELECT COUNT(*) AS file_id_count
INTO lp_file_id_count
FROM xxae_delay_monitor_if_mst xdm
WHERE xdm.schele_date = iv_receive_date
AND xdm.hulft_id = rec_recv_if_list.file_id;
EXCEPTION
WHEN OTHERS THEN
RAISE error_DBError;
END;
-- 1. 抽出件數=0の場合、以下の情報を収集後エラーログへ書き出します。
IF lp_file_id_count = 0 THEN
-- シーケンス番號を取得
BEGIN
SELECT xxae_collect_error_logs_s.NEXTVAL AS seq_num
INTO ln_seq_no
FROM al;
EXCEPTION
WHEN OTHERS THEN
RAISE error_DBError;
END;
BEGIN
INSERT INTO XXAE_COLLECT_ERROR_LOGS
(COLLECT_ERROR_ID
,CHECK_DATE
,PARAMETER_TIME
,RECV_DATE
,PROCESS_ORDER
,CHECK_CATEGORY
,ERROR_CLASSIFICATION
,CREATED_BY
,LAST_UPDATED_BY
)
VALUES
(ln_seq_no
,SYSDATE
,iv_time
,iv_receive_date
,in_process_order
,'インターフェイス連攜遅延確認'
,'想定外'
,'1373'
,'1373'
);
EXCEPTION
WHEN OTHERS THEN
RAISE error_DBError;
END;
lp_count := lp_count + 1;
DBMS_OUTPUT.PUT_LINE('最新の番號(FILE ID):' || ln_seq_no);
DBMS_OUTPUT.PUT_LINE('DB「収集後エラーログ」書出の件數:' || lp_count);
END IF;
END LOOP recv_list_loop;
COMMIT;
<<cur_adm_loop>>
FOR rec_delay_monitor IN cur_adm LOOP
BEGIN
SELECT COUNT(*) hulft_id_count
INTO lp_hulft_id_count
FROM xxae_recv_if_list xril
WHERE ((xril.start_day = rec_delay_monitor.schele_date - 1
AND xril.start_time >= '12:00:00')
OR (xril.start_day = rec_delay_monitor.schele_date
AND xril.start_time < '12:00:00'))
AND xril.file_id = rec_delay_monitor.hulft_id;
EXCEPTION
WHEN OTHERS THEN
RAISE error_DBError;
END;
-- 2.取得件數 = 0の場合、以下の情報を収集後エラーログへ書き出します。
IF lp_hulft_id_count = 0 THEN
BEGIN
SELECT xxae_collect_error_logs_s.NEXTVAL AS seq_num
INTO ln_seq_no
FROM al;
EXCEPTION
WHEN OTHERS THEN
RAISE error_DBError;
END;
BEGIN
INSERT INTO XXAE_COLLECT_ERROR_LOGS
(COLLECT_ERROR_ID
,CHECK_DATE
,PARAMETER_TIME
,RECV_DATE
,PROCESS_ORDER
,CHECK_CATEGORY
,ERROR_CLASSIFICATION
,CREATED_BY
,LAST_UPDATED_BY
)
VALUES
(ln_seq_no
,SYSDATE
,iv_time
,iv_receive_date
,in_process_order
,'インターフェイス連攜遅延確認'
,'想定外'
,'1373'
,'1373'
);
EXCEPTION
WHEN OTHERS THEN
RAISE error_DBError;
END;
lp_count := lp_count + 1;
DBMS_OUTPUT.PUT_LINE('最新の番號(HULFT ID):' || ln_seq_no);
DBMS_OUTPUT.PUT_LINE('DB「収集後エラーログ」書出の件數:' || lp_count);
END IF;
END LOOP cur_adm_loop;
COMMIT;
DBMS_OUTPUT.PUT_LINE('DB「収集後エラーログ」書出完了しました');
--=================================================================
-- 例外処理
--=================================================================
EXCEPTION
WHEN error_DBError THEN
error_code := 1;
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'xxae_collect_error_logsDB処理エラー');
ROLLBACK;
WHEN OTHERS THEN
error_code := 1;
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'XXAE06201_99');
END collect_err;
PROCEDURE main(
iv_receive_date IN VARCHAR2, -- 1.受信日
iv_time IN VARCHAR2, -- 2.パラメータ時刻
iv_process_order IN VARCHAR2, -- 3.処理順位
iv_mail_address IN VARCHAR2) -- 4.配信先メールアドレス
IS
BEGIN
error_code := 0;
--=================================================================
-- パラメータチェック
--=================================================================
chk_param(iv_receive_date, iv_time, iv_process_order, iv_mail_address);
IF error_code = 1 THEN -- エラー終了時
RAISE error_main;
END IF;
--=================================================================
-- インターフェイス連攜遅延確認
--=================================================================
collect_err(iv_receive_date, iv_process_order, iv_time);
IF error_code = 1 THEN -- エラー終了時
RAISE error_main;
END IF;
--=================================================================
-- 例外処理
--=================================================================
EXCEPTION
WHEN error_main THEN
DBMS_OUTPUT.PUT_LINE('MAIN PROCEDUREエラー終了 ');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('メッセージ名:' || 'XXAE06201_99');
END main;
END xxae_zhax_test;

Ⅵ java大嬸們,問個問題:1.web開發中sql語句的where條件,是在前台js中拼好傳到後台好

1、2、當然是後台好,至少不會暴露資料庫的結構,由於只是拼串,效率上影響不大
3、這2種沒啥區別,需要時再代碼重構也無不可
4、MVC(模型-視圖-控制)結構中的M層,即業務邏輯層或叫模型層,拼sql基本上都是業務邏輯相關

Ⅶ ACCESS為前台,SQL SEVER做後台做傳遞查詢並做出窗體,怎樣在窗體里弄一個文本框輸入傳遞查詢的參數急!

新建人一個ACCESS資料庫,注意選擇「資料庫項目」,這樣生成的是ADP文件,是自ACCESS2000以後新增的一種專門用於後端連接SQL或MSDE(桌面型SQL)的文件類型,詳細用法見幫助。
也可以在MDB文件里用鏈接的方法鏈到SQL。

Ⅷ asp.net中怎麼向sql語句里傳參數阿

你得先建一個參數表,才能傳阿:
para = new Hashtable();
para.Add ("@ID" ,Id);
SqlParameter []param = BuildParams.Build (para);
SqlDataReader dr = SQLHelper.ExecuteReader (資料庫連接字元串,CommandType.StoredProcere ,資料庫語句 ,param))
然後@ID就是要傳得參數了,
select *
from talbe where id = @ID
還有問題發信給我好了,E-mail:[email protected]

Ⅸ 關於mybatis的使用之怎麼傳遞參數總結

MyBatis中使用parameterType向SQL語句傳參,parameterType後的類型可以是基本類型int,String,HashMap和java自定義類型。 在SQL中引用這些參數的時候,可以使用兩種方式#{parameterName}或者${parameterName}, 首先,我們說一下這兩種引用參數時...