當前位置:首頁 » 操作系統 » 資料庫傳參函數

資料庫傳參函數

發布時間: 2022-11-16 11:39:39

資料庫查詢 怎樣傳遞參數

String sql = String.Format("select * from Table_Stu Where substring (StuBirthday,1,4)=@year");
try
{
SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(ConnectionString));
da.SelectCommand.Parameters.AddWithValue(「@year」, tB_BirthScan.Text.Trim())
DataTable dt = new DataTable();
da.Fill(dt);
this.dataGridView_Show.DataSource =dt;
}
catch
{

}

❷ 函數傳參規則

一 :

1,不可變類型的數據傳參時,函數內部不會改變原數據的值!

2,可變類型的數據傳參時,函數內部可以改變原數據

二:滿足以下兩個條件時,傳參時不用返回值

1,傳入了可變對象

2,修改了可變對象

❸ 怎麼向資料庫存語句中傳參數

1 sql 語句定義為下文中的方式

執行sql 語句,傳入相應的參數,就可以了

declare@sqlnvarchar(4000)
declare@fileInfoEvarchar(50)
set@sql='select*fromtablewherealike@fileInfo';

set@fileInfoE='%'+@fileInfoE+'%';

execsp_executesql@sql,N'@fileInfovarchar(50)
',@fileInfo=@fileInfoE

❹ mysql資料庫函數的參數怎麼使用

請在函數名後面的圓括弧里填寫參數,函數名(參數1,參數2,...參數n), 具體的用法請參考用戶手冊。
例如:
select month(now()),left(sname,1),length('abcd') from student;

❺ MSSQL資料庫 :如何給 存儲過程中的 IN() 傳遞參數,誰能夠幫忙修改一些。

中的項不固定大小,應該選一個足夠大的值,varchar(1000)
CREATE PROCEDURE [dbo].[Stat_MultiplesLoadByUnionAll]
( @Cells nvarchar(255),@name1 varchar(1000) )
as
begin
if (@name1 <>'' or @name1 is not null)
begin
select @UnionTable=isnull(@UnionTable+' union all select '+@Cells+' from ',' select '+@Cells+' from ) +quotename(Name) from sysobjects where OBJECTPROPERTY(id, N'IsUserTable') = 1 and name in (' + @name1 =')'
end

end

--注意@name1 傳入的格式 是'tab1','tab2','tab3'................ 這樣的,才能拼對

❻ Mysql資料庫中FIND_IN_SET();在HIbernate中怎麼使用。比如,如何傳參;

其實是可以使用的,我今天就遇到這個問題,但是必須 這么用 :
在jdbc的SQL中可以不用寫比較符,比如:

select * from t_user where find_in_set('zs',username) ;

當然也可以這樣用:

select * from t_user where find_in_set('zs',username)>0

而在hibernate的HQL語句中,必須這樣用:

from User u where find_in_set('zs',u.username)>0 ;

即『>0』必須帶上,否則會報錯。

如果使用動態參數:

Map par = new HashMap();

par.put("buying_patterns", buying_patterns);
Hibernate hql語句 find_in_set 用法
gqo.addQuery("find_in_set(:buying_patterns,obj.buying_patterns)>0", par);

說明:1:buying_patterns buying_patterns 要傳的屬性值(:表示佔位符)
2.obj.buying_patterns 表名.屬性名

❼ oracle 傳參 存儲過程 或 函數

create or replace procere my_pro(ch out varchar2) is
cou integer;
cou
begin
ch:='';
cou:=0;
for cx in (select * from 檢查表) loop
select count(1) into cou from 參照表 where 參照表欄位=cx.檢查表的欄位;
if(cou=0)
ch:=ch||『,』||cx.檢查表的欄位;
end loop;
end my_pro;
這樣不知道滿足嗎?你把上面的表和欄位改成你的表的;試試可以嗎 我沒執行過

❽ mysql 語句 怎樣傳遞一個函數的參數

CREATE FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
BEGIN
DECLARE V_RETURN VARCHAR(255);
SET V_RETURN = ELT(INTERVAL(CONV(HEX(left(CONVERT(P_NAME USING gbk),1)),16,10),
0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,
0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,
0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1),
'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z');
RETURN V_RETURN;
END
pinyin :此函數是將一個中文字元串對應拼音母的每個相連 (例如:"中國人"->ZGR)
復制代碼 代碼如下:

CREATE FUNCTION `pinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
BEGIN
DECLARE V_COMPARE VARCHAR(255);
DECLARE V_RETURN VARCHAR(255);
DECLARE I INT;
SET I = 1;
SET V_RETURN = '';
while I < LENGTH(P_NAME) do
SET V_COMPARE = SUBSTR(P_NAME, I, 1);
IF (V_COMPARE != '') THEN
#SET V_RETURN = CONCAT(V_RETURN, ',', V_COMPARE);
SET V_RETURN = CONCAT(V_RETURN, fristPinyin(V_COMPARE));
#SET V_RETURN = fristPinyin(V_COMPARE);
END IF;
SET I = I + 1;
end while;
IF (ISNULL(V_RETURN) or V_RETURN = '') THEN
SET V_RETURN = P_NAME;
END IF;
RETURN V_RETURN;
END

示例:
復制代碼 代碼如下:

mysql> select p.province, fristPinyin(p.province), pinyin(p.province) from province p;
+------------------+-------------------------+--------------------+
| province | fristPinyin(p.province) | pinyin(p.province) |
+------------------+-------------------------+--------------------+
| 北京市 | B | BJS |
| 天津市 | T | TJS |
| 河北省 | H | HBS |
| 山西省 | S | SXS |
| 內蒙古自治區 | N | NMGZZQ |
+------------------+-------------------------+--------------------+
5 rows in set

❾ C++的函數傳參可以是些什麼

先說一個東西,訪問變數有三種方式,直接訪問,指針訪問,引用訪問

inti(0),*p=&i,&j=i;
i=1;//直接訪問,此時i=1
*p=1;//指針訪問,此時i=1
j=1;//引用訪問,此時i=1

所以函數傳參時要想改變變數的值,有上面三種方式,對應的為:

值傳參,這個不用多少

voidfoo(intj){}//inti(0);foo(i);

地址傳參,即傳遞指針,被調用函數中對形參指針所指向的地址中內容的改變才會影響到實參。

voidfoo(int*p){*p=1;}//這樣才能改變p指向的i的值;
inti(0);foo(&i);

引用傳參,即傳遞引用,引用與指針最大的區別是,引用不是對象,只是引用對象的「別名」,所以在被調用函數中對引用的形參改變就能對實參作用

voidfoo(int&j){j=1;}//此時i相應變為1

inti(0);foo(i);

另外提一下:數組在函數傳參時會自動轉化為首地址指針。

❿ 關於java的傳參,牽涉到資料庫~~~~~~~~~~~

首先你可以使用PreparedStatement這個類,用法如下——
Connection con ;(創建資料庫鏈接)
PreparedStatement ps = con.prepareStatement("select * from Book where title=?");
ps.setString(1, "title");
ps.execute();

用法就是這樣,這個比Statement類要安全點。。。。

置於你的第一個方法重載的問題,你可以定義這樣的方法,search(int i, String... args)。。。

這是一種可變參數列表用法,前面的參數i,表示你要調用哪個SQL語句,直接用switch來進行帥選就行了;後面的args其實是個數組,用來存儲你傳進去的參數。。。。

例如這樣search(1, "king", "book"),這樣就相當於調用1號SQL語句,作者名為king,書名為book,當然,這樣的設定由你自己來確定,如下——
public void search(int i, String... args) {
String sql = null;
switch(i) {
case 1:sql = "select * from Book where author=? and book=?";break;
}
//接著就可以使用PreparedStatement類來查詢數據了
}

可能我說的不太清楚,你查詢一下PreparedStatement的用法,還有Java可變參數列表的用法,這樣能很好地解決你的問題。。。。

總的來說,你的SQL語句可以多變的,而整個方法的結構可以不用改變,只要執行不同的SQL語句就能得到不同的結果。。。。

希望這些對你有幫助,可以上Q找我,410430209,呵呵。。。。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372