C#調用自己定義表類型參數
阿新 • • 發佈:2017-08-05
drop pro -h height csharp pass ria code not null
--打開Visual Studio—創建項目—選擇【控制臺應用程序】
--測試結果:
-SQL SERVER生成測試環境:
--創建測試DB CREATE database Sales; go USE Sales GO --創建表類型 IF TYPE_ID(‘LocalDT‘) IS NOT NULL DROP TYPE LocalDT GO CREATE TYPE LocalDT AS TABLE ( ID INT NOT NULL, Name NVARCHAR(50) ) GO --創建存儲過程 IF OBJECT_ID(‘P_DataTable‘,‘P‘) IS NOT NULL DROP PROC P_DataTable; GO CREATE PROCEDURE P_DataTable ( @LocalDT LocalDT READONLY ) AS SELECT * FROM @LocalDT GO
--打開Visual Studio—創建項目—選擇【控制臺應用程序】
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace ProcDataTable { class Program { static void Main(string[] args) { DataTable dt = new DataTable("LocalDT"); dt.Columns.Add("ID",typeof(int)); dt.Columns.Add("Name", typeof(string)); DataRow dr = dt.NewRow(); dr[0] = 1; dr[1] = "Roy"; dt.Rows.Add(dr); SqlConnection thisConnection = new SqlConnection(@"Server=實例名;Database=Sales;User ID=sa;Password=1"); thisConnection.Open(); SqlCommand sqlcmd = thisConnection.CreateCommand(); sqlcmd.CommandType = CommandType.StoredProcedure; sqlcmd.CommandText = "P_DataTable"; SqlParameter param = sqlcmd.Parameters.AddWithValue("@LocalDT", dt); SqlDataReader sdr = sqlcmd.ExecuteReader(); while (sdr.Read()) { Console.WriteLine("ID:{0}\tName:{1}",sdr[0],sdr[1]); } thisConnection.Close(); Console.ReadKey(); } } }
--測試結果:
C#調用自己定義表類型參數