校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > sqlserver 存儲過程動態參數調用實現代碼

sqlserver 存儲過程動態參數調用實現代碼

熱門標簽:成都電話外呼系統一般多少錢 銀川高頻外呼回撥系統多少錢 陜西電銷外呼系統好用嗎 如何做地圖標注圖鋪 數字匠心電銷機器人 沒聽見電話機器人幫你接 最新人工智能電銷機器人 蘭州語音外呼系統運營商 al智能電話機器人
只是做筆記,沒什么??!
復制代碼 代碼如下:

--創建測試表
CREATE TABLE [dbo].[Student](
[ID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[Name] [nvarchar](20) NOT NULL DEFAULT (''),
[Age] [int] NOT NULL DEFAULT (0),
[Sex] [bit] NOT NULL DEFAULT (0),
[Address] [nvarchar](200) NOT NULL DEFAULT ('')
)
--比如是一個查詢存儲過程
Create PROC GetStudentByType
@type int =0, -- 1根據id查詢, 2根據性別查詢
@args XML -- 參數都寫到這里吧
AS
BEGIN
DECLARE @id INT,@sex BIT
SET @id=@args.value('(args/id)[1]','int') --參數都可以寫在這里,如果沒有傳過來,大不了是null值了,反正也用不到,沒關系的
SET @sex =@args.value('(args/sex)[1]','bit')
IF(@type=1)
BEGIN
SELECT * FROM dbo.Student WHERE ID=@id
END
IF(@type=2)
BEGIN
SELECT * FROM dbo.Student WHERE Sex=@sex
END
END

參數寫xml里感覺比用字符串要好很多,這樣調用時參數就不好組織了,所以這里要有個幫助類XmlArgs
復制代碼 代碼如下:

public class XmlArgs
{
private string _strArgs = string.Empty;
private bool _isCreate = false;
private Dictionarystring, string> _args;
public string Args
{
get
{
if (!_isCreate)
{
_strArgs = _CreateArgs();
_isCreate = true;
}
return _strArgs;
}
}
public XmlArgs()
{
_args = new Dictionarystring, string>();
}
public void Add(string key, object value)
{
_args.Add(key, value.ToString());
_isCreate = false;
}
public void Remove(string key)
{
_args.Remove(key);
_isCreate = false;
}
public void Clear()
{
_args.Clear();
_isCreate = false;
}
private string _CreateArgs()
{
if (_args.Count == 0)
{
return string.Empty;
}
StringBuilder sb = new StringBuilder();
foreach (string key in _args.Keys)
{
sb.AppendFormat("{0}>{1}/{0}>", key, _args[key]);
}
return sb.ToString();
}
}

調用:
復制代碼 代碼如下:

private void BindData()
{
XmlArgs args = new XmlArgs();
args.Add("id", 1);
System.Data.DataTable dt = GetStudentByType(1, args);
GridView1.DataShow(dt);
}
private System.Data.DataTable GetStudentByType(int type, XmlArgs args)
{
SqlHelper helper = new SqlHelper();
helper.Params.Add("type", type);
helper.Params.Add("args", args.Args);
System.Data.DataTable dt = helper.RunDataTable("GetStudentByType");
return dt;
}
您可能感興趣的文章:
  • C# Ado.net實現讀取SQLServer數據庫存儲過程列表及參數信息示例
  • SQL SERVER調用存儲過程小結
  • Java中調用SQL Server存儲過程詳解
  • PHP調用MsSQL Server 2012存儲過程獲取多結果集(包含output參數)的詳解
  • Sql Server 存儲過程調用存儲過程接收輸出參數返回值
  • sqlserver中存儲過程的遞歸調用示例
  • .net下調用sqlserver存儲過程的小例子
  • SQL SERVER使用ODBC 驅動建立的鏈接服務器調用存儲過程時參數不能為NULL值
  • PHP基于PDO調用sqlserver存儲過程通用方法【基于Yii框架】
  • SQL Server存儲過程在C#中調用的簡單實現方法

標簽:遼源 巴彥淖爾 宜春 邢臺 朔州 本溪 鹽城 通化

巨人網絡通訊聲明:本文標題《sqlserver 存儲過程動態參數調用實現代碼》,本文關鍵詞  sqlserver,存儲,過程,動態,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sqlserver 存儲過程動態參數調用實現代碼》相關的同類信息!
  • 本頁收集關于sqlserver 存儲過程動態參數調用實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 晋州市| 瓦房店市| 盱眙县| 汤阴县| 霍林郭勒市| 东丽区| 特克斯县| 来凤县| 湘阴县| 论坛| 安新县| 北安市| 翼城县| 定远县| 墨江| 泸水县| 韩城市| 盐亭县| 武城县| 蕉岭县| 石渠县| 冕宁县| 依安县| 景宁| 宝山区| 榆社县| 仪征市| 镇坪县| 郸城县| 隆安县| 宜君县| 富顺县| 工布江达县| 潞西市| 苍溪县| 阿拉善右旗| 贞丰县| 花垣县| 辽阳县| 六枝特区| 高密市|