当前位置:首页 » 编程语言 » 前台传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}, 首先,我们说一下这两种引用参数时...