首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

这个存储过程如何写?求高人指点

2013-08-01 
这个存储过程怎么写?求高人指点.我自己定义的存储过程:ALTER PROCEDURE USP_QueryT_AddressBookByField@Fi

这个存储过程怎么写?求高人指点.
我自己定义的存储过程:

ALTER PROCEDURE USP_QueryT_AddressBookByField
@FieldName nvarchar(20),
@Val nvarchar(50)
AS
 SET NOCOUNT ON 
select  [FId] as [编号],[FName] as [姓名],[FSex] as [性别],[FPhone] as [电话号码],[Fqq] as [QQ],
[FWordPhone] as [国际电话号码],[FEMail] as [EMail],[FHandSet] as [手机号] from [T_AddressBook] where 
@FieldName = @Val


C#调用端:
string query = @"Data Source=.\SQLExpress;Initial Catalog=PersonnelManagementSystem;Integrated Security=True";
            _Set = new DataSet();
            using(SqlConnection connect = new SqlConnection(query)) {
                connect.Open();
                using(SqlCommand cmd = connect.CreateCommand()) {
                    cmd.CommandText = "USP_QueryT_AddressBookByField";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add("@FieldName", SqlDbType.NVarChar, 20).Value = "FId";
                    cmd.Parameters.Add("@Val", SqlDbType.NVarChar, 50).Value = "00003";
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.ExecuteNonQuery();
                    _Set = new DataSet();
                    _DataAdapter = new SqlDataAdapter(cmd);
                    _DataAdapter.Fill(_Set, "T_AddressBook");
                    dgvDataTable.DataSource = _Set.Tables["T_AddressBook"];


                }
            }



我觉得我写的不对了.
我想做的是,从外部传指定的字段名和字段对应的值,显示在DatagridView中.
但是我去掉参数后可以显示.所以我觉得我这样写不对了.求高人指点. 感觉楼主这个传参还是得判断下,字符和整形都是不一样的传参类型,所以那个单引号得做判断才能加吧
[解决办法]
可能是传参有点问题吧

热点排行