读书人

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

发布时间: 2013-08-01 15:23:18 作者: rapoo

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

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中.
但是我去掉参数后可以显示.所以我觉得我这样写不对了.求高人指点. 感觉楼主这个传参还是得判断下,字符和整形都是不一样的传参类型,所以那个单引号得做判断才能加吧
[解决办法]
可能是传参有点问题吧

读书人网 >C#

热点推荐