转换错误 - >字符串在asp.net

问题描述:

唯一标识符我有一个​​存储过程,如:转换错误 - >字符串在asp.net

ALTER procedure [dbo].[prcDisplayTpTestimonial] 
@personname varchar(100), 
@orderby varchar(100), 
@OrderByDirection varchar(100) 

As 
Begin 
    set nocount on; 

select t.id_testimonials, 
     (select client_name 
     from tp_Client_Master c 
     where c.client_id = t.client_id) as client_name, 
     t.Person_Name, 
     t.Description 
from tp_Testimonial_master t 
where t.Person_name like '%' + @personname + '%' 
     and t.syncoperation <> 'D' 
order by case 
      when @orderby = 'Person_Name' 
       and @OrderByDirection = 'asc' then Person_Name 
      end asc, 
      case 
      when @orderby = 'Person_Name' 
       and @OrderByDirection = 'desc' then Person_Name 
      end desc, 
      case 
      when @orderby = 'Description' 
       and @OrderByDirection = 'asc' then Description 
      end asc, 
      case 
      when @orderby = 'Description' 
       and @OrderByDirection = 'desc' then Description 
      end desc 


End 

是做工精细,但是当我跑我的CS页面给它的唯一标识符错误这里是我的 CS代码:

SqlCommand cmd1 = new SqlCommand("prcDisplayTpTestimonial", con); 
     cmd1.CommandType = CommandType.StoredProcedure; 

     cmd1.Parameters.Add(new SqlParameter("@personname", SqlDbType.VarChar)).Value = clientSearch.Text.ToString().Trim(); 

     cmd1.Parameters.Add(new SqlParameter("@orderby", SqlDbType.VarChar)).Value = sort; 
     cmd1.Parameters.Add(new SqlParameter("@OrderByDirection", SqlDbType.VarChar)).Value = sort_direction; 


     DataTable dt = new DataTable(); 
     SqlDataAdapter adp = new SqlDataAdapter(cmd1); 
     adp.Fill(dt); 
     dgTestimonial.DataSource = dt; 
     dgTestimonial.DataBind(); 
+1

'c.client_id'和't.client_id'是否都是相同的数据类型? – 2011-10-10 07:06:48

+1

你的表格定义是什么? –

某处,您将字符串值传递给数据库中的uniqueidentifier字段。

确保c.client_idt.client_id都是相同的数据类型。

就您选择的数据类型而言,请记住uniqueidentifier类型更适用于表格中的电子邮件地址等内容,以便每行都有唯一的电子邮件地址(例如) - 除非我是错误。

对于行ID的列,我在列中使用任一int数据类型与identity(1,1),或我使用varchar数据类型与new guid()的默认值。

希望这会有所帮助。

+0

'uniqueidentifier' **是**''guid'。与确保电子邮件地址是唯一的无关。 –

+0

ya谢谢我,我得到了 – Aties

+0

一个人很高兴能成为服务^。^ – Ortund